본문 바로가기

알고리즘 문제풀이

백준 5532 방학숙제 Python

가장 첫 코드 런타임 에러 (IndexError)

vac = list(map(int,input().split()))
last_vac = 0
if divmod(vac[2],vac[4])[1] == 0 and divmod(vac[1],vac[3])[1] == 0:
    if vac[2]//vac[4] < vac[1]//vac[3]:
        last_vac = vac[0] - vac[1]//vac[3]
    else:
        last_vac = vac[0] - vac[2]//vac[4]
    print(last_vac)
elif divmod(vac[2],vac[4])[1] == 0 and divmod(vac[1],vac[3])[1] != 0:
    if (vac[2]//vac[4]) < (vac[1]//vac[3] + 1):
        last_vac = vac[0] - (vac[1]//vac[3] + 1)
    else:
        last_vac = vac[0] - (vac[2]//vac[4])
    print(last_vac)
elif divmod(vac[2],vac[4])[1] != 0 and divmod(vac[1],vac[3])[1] == 0:
    if (vac[2]//vac[4]+ 1) < (vac[1]//vac[3]):
        last_vac = vac[0] - (vac[1]//vac[3])
    else:
        last_vac = vac[0] - (vac[2]//vac[4]+ 1)
    print(last_vac)
elif divmod(vac[2],vac[4])[1] != 0 and divmod(vac[1],vac[3])[1] != 0:
    if (vac[2]//vac[4]+ 1) < (vac[1]//vac[3] + 1):
        last_vac = vac[0] - (vac[1]//vac[3] + 1)
    else:
        last_vac = vac[0] - (vac[2]//vac[4]+ 1)
    print(last_vac)

한번 수정 후 코드  런타임 에러 (IndexError)

input_vac = list(map(int,input().split()))
last_vac = 0
vac = input_vac[0]
mod_math = input_vac[2] % input_vac[4]
mod_han = input_vac[1] % input_vac[3]
max_math = input_vac[2] // input_vac[4]
max_han = input_vac[1] // input_vac[3]

if mod_math > 0:
    max_math +=1
if mod_han > 0:
    max_han +=1

if max_han >= max_math:
    print(vac - max_han)
else:
    print(vac - max_math)

마지막 코드

vac = int(input())
input_han = int(input())
input_math = int(input())
cal_han = int(input())
cal_math = int(input())
mod_math = input_math % cal_math
mod_han = input_han % cal_han
max_math = input_math // cal_math
max_han = input_han // cal_han

if mod_math > 0:
    max_math +=1
if mod_han > 0:
    max_han +=1

if max_han >= max_math:
    print(vac - max_han)
else:
    print(vac - max_math)

문제점: 한줄에 받는게 아니라 하나씩 받는데 에러를 간과함

'알고리즘 문제풀이' 카테고리의 다른 글

[백준]1546 평균 파이썬 Python  (0) 2024.01.29
백준 2884 알람시계 브3 Python  (0) 2024.01.26
백준 14215 세막대기 Python  (1) 2024.01.26
백준 2754 브론즈5 Python  (0) 2024.01.26
신규고객 등록 Python  (0) 2024.01.18