
python/백준 - 1980번 문제에 대한 분석임.
n, m, t = map(int, input().split())
mx = max(n, m)
mn = min(n, m)
cnt = 0
burger = 0
coke = 10000
while t >= mx*cnt:
temp_t = t - mx*cnt
temp_burger = cnt
temp_coke = 0
temp_burger += temp_t//mn
temp_coke += temp_t%mn
if coke > temp_coke:
burger = temp_burger
coke = temp_coke
elif coke == temp_coke and burger < temp_burger:
burger = temp_burger
coke = temp_coke
cnt += 1
print(f"{burger} {coke}")
n, m, t = map(int, input().split())
mx = max(n, m)
mn = min(n, m)
cnt = 0
burger = 0
coke = 10000
n, m, tn과 m 중 더 큰 값을 mx, 작은 값을 mn에 입력한다.cnt: 두 햄버거 중 먹는 시간이 더 오래 걸리는 햄버거를 몇번 먹을지에 대한 정수형 변수burger: 전체 햄버거를 먹는 횟수coke: 콜라를 마시는 시간 (추후 값을 비교하기 쉽도록 t의 최대값인 1만을 초기값으로 입력함.)while t >= mx*cnt:
temp_t = t - mx*cnt
temp_burger = cnt
temp_coke = 0
mx와 해당 햄버거를 먹는 횟수 cnt의 곱이 t보다 클 수 없으므로 해당 조건을 while문의 조건으로 넣어준다.temp_t, temp_burger, temp_coketemp_t: 먹는데 mx분 걸리는 버거를 cnt번 먼저 먹기 때문에 그만큼 시간을 빼준다.temp_burger: 먹는데 mx분 걸리는 버거를 cnt번 먼저 먹기 때문에 초기값을 cnt로 설정해준다. temp_burger += temp_t//mn
temp_coke += temp_t%mn
temp_burger: 먹는데 mn분 걸리는 버거를 먹은 횟수를 추가해준다.
temp_coke: 버거를 다 먹고 남은 시간을 추가해준다.
if coke > temp_coke:
burger = temp_burger
coke = temp_coke
elif coke == temp_coke and burger < temp_burger:
burger = temp_burger
coke = temp_coke
cnt += 1
temp_coke가 기존 coke변수보다 작다면burger변수에 이번 회차 버거를 먹은 횟수를coke변수에는 이번 회차 콜라를 마신 시간을 입력해준다.coke와 temp_coke가 동일하면서 burger보다 temp_burger가 더 클 경우에는
mx분 걸리는 버거를 먹는 횟수인 cnt를 1 증가시켜준다.print(f"{burger} {coke}")