Greedy(2)
-
[코딩테스트]🪧미로 찾기 - Kakao 2023
문제링크문제링크난이도레벨 3유형DFS 또는 그리디소요시간1시간 30분회고DFS 풀이법어려웠다. k가 2500이라 브루트포스를 통한 조합은 쓰기 어려웠고, dfs를 사용하였다. 나머지 거리 왕복 거리가 % 2 == 0이라는 걸 떠올리기 힘들었다. 그리디 풀이법그리디를 이용하여 풀면 O(k)만에 가능하다. 알파벳 순서대로 접근하고, 최적의 경로를 제외한 경로는 탈출하여 최적화한다.코드// DFS 풀이법func solution(_ n:Int, _ m:Int, _ x:Int, _ y:Int, _ r:Int, _ c:Int, _ k:Int) -> String { var answer = "" let distance = abs(x - r) + abs(y - c) if distance > k |..
2025.10.04 -
[코딩 테스트] 🚚 택배 배달과 수거하기 - 2023 KAKAO BLIND
Greedy를 활용한 문제가장 먼 거리까지 왕복을 몇번 해야 하는가인지 깨달아야 하는 문제풀이 과정총 이동 거리는 결국 가장 먼 집까지 몇 번 왕복했는지에 의해 결정된다.따라서 가장 먼 집부터 거꾸로 살펴보며, 그 지점까지 배달/수거가 남아 있다면 왕복을 추가해야 한다.왕복 1회에서 배달 최대 cap, 수거 최대 cap을 동시에 처리할 수 있다.소요시간1시간 이상GPT 도움 받음import Foundationfunc solution(_ cap:Int, _ n:Int, _ deliveries:[Int], _ pickups:[Int]) -> Int64 { var ans: Int64 = 0 // 총 이동 거리 var d = 0 // 현재 인덱스까지 남은 배달량(누적..
2025.09.19