자바
-
[프로그래머스] 마법의 엘리베이터 자바 (Level 2) DFS 완전탐색코딩테스트 2025. 5. 2. 22:43
문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/1486531. 문제 요약주어진 층수 storey를 10의 n제곱값을 더하거나 빼서 0을 만든다.storey를 0으로 만드는데 필요한 최소 횟수를 구한다.2. 핵심 아이디어DFS 방식으로 0까지 차감 or -부터 0까지 증가하는 두 가지방식으로 탐색 및 비교하기.3. 풀이 코드/** * @param storey : 현재 층 * @return 0층까지 가기위한 최소 횟수 */ int minValue = Integer.MAX_VALUE; //버튼 누르면 현재 층 + 10^n (n 은 정수) 로 이동. 결과값 minValue) return; if(s..
-
[프로그래머스] 호텔 대실 자바 (Level 2)코딩테스트 2025. 4. 25. 09:19
문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/1556511. 문제 요약주어진 예약을 모두 소화하는데 필요한 방 갯수의 최소값 구하기퇴실시간의 10분 후부터 다음 입실 가능.2. 핵심 아이디어모든 예약을 입실시간 기준 정렬최소 힙(우선순위 큐)을 사용하여 각 방의 다음 사용 가능 시간을 추적예약마다 사용 가능한 방이 있는지 확인가능: 해당 방 재사용 (방의 다음 사용 가능 시간 갱신)불가능: 새로운 방 추가3. 풀이 코드public int solution(String[][] book_time) { //1. 시작시간 기준으로 예약시간 정렬 Arrays.sort(book_time, (a, b) -> toMinute..
-
[프로그래머스 level2] 당구 연습 자바 반사코딩테스트 2025. 4. 21. 13:40
https://school.programmers.co.kr/learn/courses/30/lessons/169198 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제/** * 1쿠션 * @param m 당구대 가로 * @param n 당구대 세로 * @param startX 시작점 x * @param startY 시작점 y * @param balls 공위치 * @return 1쿠션으로 타격시 공이 굴러간 거리의 최솟값 제곱을 담은 배열 */피드백🔍 핵심 아이디어: 이미지 반사 (Mirrored Image) 1쿠션으로 목적구를 맞춘다는 것은 벽을 한 번 튕긴 후 목적구에 도달하는 것입니다. ..
-
[프로그래머스 level2] 리코쳇로봇 자바 BFS 큐코딩테스트 2025. 4. 20. 17:19
https://school.programmers.co.kr/learn/courses/30/lessons/169199 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제* @param board 보드상황 표현. "." : 빈 공간, "R" : 출발위치 "D" : 장애물 "G" : 목적지* @return G까지 최소 이동거리. 불가능시 -1;이 게임은 한 번 이동할 때 상하좌우 한 방향으로 벽이나 장애물에 부딪힐 때 까지 계속 이동한다.주어진 board를 바탕으로 R -> G까지 필요한 최소 이동거리를 구하여라. (불가능할 경우 -1)접근보드의 출발점 ~ 목적지까지의 최소거리는 BFS방식이 효율적이라고 알고..
-
[프로그래머스 level2] 광물 캐기 자바 DFS / greedy 방식코딩테스트 2025. 4. 20. 10:09
https://school.programmers.co.kr/learn/courses/30/lessons/172927 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제@param picks [dia , iron, stone] 종류별 곡괭이 수@param minerals [diamond, iron, stone] 으로 구성된 배열.@return 채굴완료에 필요한 최소 피로도접근 & 피드백어떤 곡괭이를 차용하느냐에 따라 피로도가 다름. 곡괭이 순서를 조합하여 최소값을 구해야 하므로DFS방식이나 GREEDY 정렬 방식을 사용할 수 있다고 한다. 1. DFS방식// 1. picks = {dia, iron, sto..
-
[프로그래머스 level2] 과제 진행하기 자바 시간순 정렬, Stack코딩테스트 2025. 4. 20. 08:39
https://school.programmers.co.kr/learn/courses/30/lessons/176962 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제주어진 plans = [[업무이름,시작시간(hh:mm), 소요시간(분)], ...] 으로 구성되어 있다.[끝낸 순서대로 정렬된 업무 이름] 을 반환하시오.과제는 시작시각이 되면 시작합니다.다음 과제를 시작할 시각이 되었을 때, 진행 중이던 과제를 멈추고 새로운 과제를 시작합니다.과제 마감 후, 잠시 멈춘 과제가 있다면, 멈춰둔 과제를 이어서 진행합니다.만약, 과제를 끝낸 시각에 새로 시작해야 되는 과제와 잠시 멈춰둔 과제가 모두 있다면, 새..
-
[프로그래머스 level2] 연속된 부분 수열의 합 자바 투포인터 방식코딩테스트 2025. 4. 19. 20:43
https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제오름차순 수열 sequence로부터 임의의 두 값을 선택해 만든 부분 수열의 합이 k가 되는 부분 수열을 구하시오.부분수열은 아래의 조건을 만족해야 한다.조건기존 수열에서 선택한 두 원소 사이의 모든 원소를 포함하는 수열.이 부분 수열의 합 = k 이며 k가 되는 수열이 여러개일 경우 가장 짧은 수열을 찾는다.동일한 길이의 수열이 여러개인 경우, 시작 인덱스가 작은 쪽을 우선한다.접근오름차순 수열에서 연속된 구간의 합을 계산하면서 원하는 범..
-
[프로그래머스 level2] 두 원 사이의 정수 쌍 자바 원의 방정식코딩테스트 2025. 4. 19. 12:47
https://school.programmers.co.kr/learn/courses/30/lessons/181187 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제반지름이 각각 r1, r2인 두 원이 있다. (1 ≤ r1 두 원 사이에 존재하는 x, y 가 정수인 점의 갯수를 구하시오. 접근원의 방정식을 활용하였다. 원1의 테두리 ~ 원2의 테두리까지의 공간에 존재하는 정수좌표의 갯수를 구해야 한다.1사분면을 기준으로 계산 한 후 4배연산 하여 처리.원의 방정식 : x^2 + y^2 = r^2.원 안쪽 : x^2 + y^2 원 테두리 : x^2 + y^2 = r^2 원 바깥 : x^2 + y^2 > ..