[python_파이썬]백준_2501번_약수구하기_풀이

2024. 4. 24. 19:16코드리뷰

728x90
반응형

 

이정도는 금방 풀 수 있겠지? 생각했으나 왠걸? 2번만에 성공했다.

out of range에 대한 예외 처리 필요
A, B = map(int, input().split())
answer = []

for i in range(1, A + 1):
    if A % i == 0:
        answer.append(i)
 
answer.sort()
print(answer)

if not answer[B-1]:
    print(0)
else:
    print(answer[B-1])

 

처음 코드에서는 out of range에 대한 대비를 하려고 if조건에 not answer[B-1]을 했지만 이건 동작을 하지 않는다. 

 

그래서 예외처리를 고민한 결과 아래와 같이 전체 list의 크기가 B보다 작으면 무조건 0을 출력하도록 설계했다.

A, B = map(int, input().split())
answer = []

for i in range(1, A + 1):
    if A % i == 0:
        answer.append(i)
 
answer.sort()

if len(answer) < B:
    print(0)
else:
    print(answer[B-1])
728x90
반응형