greedy 4

[Programmers] 155651. 호텔 대실 (java)

https://school.programmers.co.kr/learn/courses/30/lessons/155651  문제 파악주어진 정보/입력코니는 최소한의 객실만을 사용하여 예약 손님들을 받으려고 한다.한 번 사용한 객실은 퇴실 시간을 기준으로 10분간 청소를 하고 다음 손님들이 사용할 수 있다.입력: 예약 시각이 문자열 형태로 담긴 2차원 배열 book_timebook_time[i]는 [대실 시작 시각, 대실 종료 시각] 형태해결해야 하는 문제코니에게 필요한 최소 객실의 수를 return하기 문제 풀이Greedy + Priority Queueimport java.util.*;class Solution { public int solution(String[][] book_time) { ..

알고리즘 2025.03.28

[Programmers] 172927. 광물 캐기 (java)

https://school.programmers.co.kr/learn/courses/30/lessons/172927  문제 파악주어진 정보/입력각 곡괭이로 광물을 캘 때의 피로도가 표로 주어진다.광물은 주어진 순서대로만 캘 수 있다.한 곡괭이를 선택하면, 해당 곡괭이로 광물 5개를 연속으로 캐야 한다.광산에 있는 모든 광물을 캐거나, 더 사용할 곡괭이가 없을 때까지 광물을 캔다.입력값: 마인이 갖고 있는 곡괭이의 개수를 나타내는 정수 배열 picks와, 광물들의 순서를 나타내는 문자열 배열 minerals제한사항: picks는 [dia, iron, stone]과 같은 구조로 이루어져 있다.해결해야 하는 문제마인이 작업을 끝내기까지 필요한 최소한의 피로도를 return 문제 풀이Greedyimport ja..

알고리즘 2025.03.24

[Programmers] 176962. 과제 진행하기 (java)

https://school.programmers.co.kr/learn/courses/30/lessons/176962  문제 파악주어진 정보/입력입력값: 과제 계획을 담은 이차원 문자열 배열 plans해결해야 하는 문제과제를 끝낸 순서대로 이름을 배열에 담아 return 문제 풀이Greeady + Stackimport java.util.*;class Solution { public String[] solution(String[][] oldPlans) { int N = oldPlans.length; Plan[] plans = new Plan[N]; for (int i = 0; i (p1.start - p2.start)); ..

알고리즘 2025.03.21

[Programmers] 181188. 요격 시스템 (java)

https://school.programmers.co.kr/learn/courses/30/lessons/181188  문제 파악주어진 정보/입력값입력: 각 폭격 미사일의 x 좌표 범위 (s, e)의 목록 targetA 나라가 발사한 폭격 미사일은 x축에 평행한 직선 형태의 모양 (s, e) 형태로 표현된다.B 나라는 특정 x 좌표에서 y축에 수평이 되도록 미사일을 발사하며, 발사된 미사일은 해당 x 좌표에 걸쳐있는 모든 폭격 미사일을 관통하여 한 번에 요격할 수 있다.0 ≤ s 100,000,000해결해야 하는 문제모든 폭격 미사일을 요격하기 위해 필요한 요격 미사일 수의 최솟값을 return하기 문제 풀이Greedyimport java.util.Arrays;class Solution { publ..

알고리즘 2025.03.06