전체 글
-
[프로그래머스 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 > ..
-
[프로그래머스 level2] 아날로그 시계 자바 시계 바늘 겹치는 횟수코딩테스트 2025. 4. 18. 10:07
https://school.programmers.co.kr/learn/courses/30/lessons/250135 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제시작시간과 종료시간을 각각 의미하는 h1~s1 과 h2 ~ s2가 주어진다.시작시간 ~ 종료시간까지 초침이 돌아가는 동안, 초침이 시침 또는 분침과 겹친 횟수를 구하시오.단, 시침,분침,초침이 동시에 겹친 경우에는 겹친 횟수를 1회로 간주한다. 접근 - 실패시침과 분침, 초침이 각각 초당 몇 도씩 움직이는지 계산한 후,초침의 각도와 시침각, 분침각이 겹치는 지 비교하는 코드를 사용함.그러나 테스트케이스의 반 이상 실패하여 폐기.public ..
-
[프로그래머스 level2] 석유시추 자바 BFS코딩테스트 2025. 4. 17. 09:09
https://school.programmers.co.kr/learn/courses/30/lessons/250136 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제int[][] land는 땅의 정보이며 0은 빈 땅, 1은 석유를 의미함.각 칼럼별로 시추하였을 때 최대 시추량은 얼마인지 구하시오. 접근Map> 로 칼럼별로 존재하는 석유 위치를 저장하고 이를 활용하려 했음.그러나 그 이후의 방법이 떠오르지 않음.public int solution(int[][] land) { Map> oilMap = new HashMap(); //칼럼별 석유 위치 정보가 필요함. fo..