[Programmers] μ κ΅μ¬μ¬
Updated:
μ κ΅μ¬μ¬
μ κ΅μ¬μ¬ λ₯Ό ν΄λ¦νλ©΄ λ°λ‘ μ΄λνλ€.
μμ μ νμ§ λͺ» νλ λ¬Έμ μλ€. μ΄λΆνμμ μ΄μ©νμ¬ νΈλ λ¬Έμ μΈλ° μ΄λ€ κ²μ μ΄λΆνμμΌλ‘ μ°Ύμμ§ μ νλκ² μ€μνλ€.
λͺ¨λ μ¬λμ΄ μ¬μ¬λ₯Ό λ°λλ° κ±Έλ¦¬λ μ΅μμκ°μ ꡬνκ³ μ νλ 1λΆλΆν° μ΅λ μ¬μ¬ μκ°κΉμ§λ₯Ό κΈ°μ€μΌλ‘ μ‘κ³ μ΄λΆνμμ νλ€.
μ΅λ μ¬μ¬ μκ°μ μ¬μ¬ μκ°μ΄ κ°μ₯ κΈ΄ μ¬μ¬κ΄μκ² μ λΆ μ¬μ¬λ₯Ό λ°μλ 걸리λ μκ°μ΄λ€.
μ΅λ μ¬μ¬ μκ°μ΄ 60λΆ μ΄λΌλ©΄ κ·Έ μ€κ°μΈ 30λΆμ νμΈνλ€.
30λΆμΈ κ²½μ° μ¬μ¬μκ°μ΄ 7λΆμΈ μ¬μ¬κ΄μ 4λͺ μ μ¬μ¬ ν μ μκ³ 10λΆμΈ μ¬μ¬κ΄μ 3λͺ μ μ¬μ¬ ν μ μλ€.
μ°λ¦¬κ° μ¬μ¬λ°μμΌ ν μ 체 μΈμμ 6λͺ μ΄κΈ° λλ¬Έμ 30λΆμΌλ‘ λͺ¨λ μΈμμ΄ μ¬μ¬κ° κ°λ₯νλ€.
λ°λΌμ 1λΆκ³Ό 30λΆμ μ€κ°μΈ 15λΆμ νμΈνλ€.
μ΄λ κ² μ΄λΆνμμ νλ©΄ λͺ¨λ μΈμμ μ¬μ¬ ν μ μλ μ΅μ μκ°μ ꡬν μ μλ€.
def solution(n, times):
start = 1
end = max(times) * n
answer = 0
while start <= end:
mid = (start + end) // 2
total_person = 0
for time in times:
total_person += mid // time
if n <= total_person:
answer = mid
end = mid - 1
else:
start = mid + 1
return answer
if __name__ == "__main__":
n = 6
times = [7, 10]
print(solution(n, times))
Leave a comment