[백준 / 2501] 약수 구하기


날짜: 2021년 5월 21일
소요 시간: 3분 32초
카테고리: 수학 문제
태그: Bronze.2, 2501, 파이썬

백준 2501 - 약수 구하기

입출력 예시

예제 입력예제 출력
6 33

내가 적은 코드

N, K = map(int, input().split(' '))
arr = []
for i in range(1,N+1):
    if N%i == 0:
        arr.append(i)
if len(arr) >= K:
    print(arr[K-1])
else:
    print(0)

풀이 과정

반복문을 활용해서 1부터 N까지의 수들로 N을 나누었을 때 나머지가 0이되는 수들을 arr의 원소로 추가했다.
그리고 Karr의 길이보다 길 때는 0을, Karr의 길이보다 작을 때 K번째 원소를 출력하게 했다.

베스트 코드

a, b = map(int, input().split())
c = [i for i in range(1, a+1) if a%i==0]
print(0 if len(c)<b else c[b-1])

반성

  • 더 어렵고 복잡한 난이도의 코드로 넘어가기 전 코드를 짧게 줄이는 연습을 해야되겠다고 생각했다.




© 2021. by hminkim