diff --git a/alstjr7437/README.md b/alstjr7437/README.md index 035553e..cd988a3 100644 --- a/alstjr7437/README.md +++ b/alstjr7437/README.md @@ -6,4 +6,5 @@ | 2차시 | 2025.04.08 | Heap | [최대힙](https://www.acmicpc.net/problem/11279)|https://github.com/AlgoLeadMe/AlgoLeadMe-14/pull/7| | 3차시 | 2025.04.30 | 투포인터 | [먹을 것인가 먹힐 것인가](https://www.acmicpc.net/problem/7795)|https://github.com/AlgoLeadMe/AlgoLeadMe-14/pull/17| | 4차시 | 2025.05.13 | 구현 | [후보 추천하기](https://www.acmicpc.net/problem/1713)|https://github.com/AlgoLeadMe/AlgoLeadMe-14/pull/24| +| 5차시 | 2025.05.22 | 이분탐색 | [퍼즐게임 챌린지](https://school.programmers.co.kr/learn/courses/30/lessons/340212)|https://github.com/AlgoLeadMe/AlgoLeadMe-14/pull/27| --- diff --git "a/alstjr7437/\354\235\264\353\266\204\355\203\220\354\203\211/\355\215\274\354\246\220\352\262\214\354\236\204\354\262\264\354\235\270\354\247\200_\355\224\204\353\241\234\352\267\270\353\236\230\353\250\270\354\212\244.swift" "b/alstjr7437/\354\235\264\353\266\204\355\203\220\354\203\211/\355\215\274\354\246\220\352\262\214\354\236\204\354\262\264\354\235\270\354\247\200_\355\224\204\353\241\234\352\267\270\353\236\230\353\250\270\354\212\244.swift" new file mode 100644 index 0000000..224ddfb --- /dev/null +++ "b/alstjr7437/\354\235\264\353\266\204\355\203\220\354\203\211/\355\215\274\354\246\220\352\262\214\354\236\204\354\262\264\354\235\270\354\247\200_\355\224\204\353\241\234\352\267\270\353\236\230\353\250\270\354\212\244.swift" @@ -0,0 +1,39 @@ +import Foundation + +func puzzle(diffs: [Int], times: [Int], level: Int) -> Int{ + var result = 0 + for i in 0.. Int { + var start = 1 + var end = diffs.max() ?? 100000 + var mid = 0 + var answer = 0 + + while start <= end { + mid = (start + end) / 2 + let result = puzzle(diffs: diffs, times: times, level: mid) + + if result <= limit { + answer = mid + end = mid - 1 + } else { + start = mid + 1 + } + } + + return answer +} \ No newline at end of file