본문 바로가기

전체 글229

코딩테스트 연습 > 푸드 파이트 대회 - JAVA (문자열 뒤집기) https://school.programmers.co.kr/learn/courses/30/lessons/134240 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 StringBuilder에 반절분을 저장한 후 "0" 추가 후 기존에 저장된 음식을 뒤집은 걸 append 해주면 됩니다. String의 경우 reverse 함수가 없지만 StringBuilder에는 reverse 함수가 있기에 이를 활용해 봤습니다. Stirng으로 하실경우 반복문으로 문자열의 뒤에서부터 하나씩 저장해가면 reverse된 문자열을 구하실 수 있습니다. 코드 .. 2024. 2. 24.
코딩테스트 연습 > 같은 숫자는 싫어 - JAVA (STACK) https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 별건 없고 Stack의 맨 위의 숫자가 현재 검사하는 숫자와 같으면 pass 다르다면 Stack에 넣어주면 끝입니다. 코드 import java.util.*; public class Solution { public int[] solution(int []arr) { Stack stack = new Stack(); stack.add(arr[0]); for(int num : arr).. 2024. 2. 24.
코딩테스트 연습 > 헤비 유저가 소유한 장소 - MySQL (JOIN) https://school.programmers.co.kr/learn/courses/30/lessons/77487 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 서브쿼리를 조인하여 문제를 해결했습니다. 코드 SELECT P.* FROM PLACES P JOIN ( SELECT HOST_ID FROM PLACES GROUP BY HOST_ID HAVING COUNT(*) > 1 ) Sub ON P.HOST_ID = Sub.HOST_ID ORDER BY P.ID; 2024. 2. 23.
코딩테스트 연습 > 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 - MySQL (CONCAT, ORDER BY) https://school.programmers.co.kr/learn/courses/30/lessons/164671 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 코드 SELECT CONCAT('/home/grep/src/',BOARD_ID,'/',FILE_ID,FILE_NAME,FILE_EXT) FILE_PATH FROM USED_GOODS_FILE WHERE BOARD_ID LIKE ( SELECT BOARD_ID FROM USED_GOODS_BOARD ORDER BY VIEWS DESC LIMIT 1 ) ORDER BY FILE_.. 2024. 2. 23.
코딩테스트 연습 > 덧칠하기 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/161989 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 현재 칠해야하는 위치(wall)가 현재 롤러의 위치(index)보다 크거나 같을 경우, 이 말은 새롭게 페인트를 칠해야한다는 말과 같습니다. 그렇기에 cnt를 +1 해주고 롤러의 위치(index)를 wall + m을 통해 페인트를 칠한 후의 위치로 옮겨 주면 됩니다. 그리고 롤러의 위치가 주어진 벽의 길이(n)를 넘어선다면 모든 벽을 칠한 것이기 때문에 break해주어 빠르게.. 2024. 2. 23.
코딩테스트 연습 > 전력망을 둘로 나누기 (완탐, BFS) https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 선분을 하나씩 제거하면서 BFS로 방문 후 나눠진 전력망의 크기를 비교했습니다. 코드 import java.util.*; class Solution { static List[] list; static boolean[] visited; public int solution(int n, int[][] wires) { int start = 0, end = 0, A = 0, B = 0,.. 2024. 2. 22.