백준(Python) 풀이/수학

백준(Python) 2501번 약수 구하기 풀이

개발윗미 2021. 10. 14. 09:45

Python으로 구현한 2501번 약수 구하기 문제 풀이입니다.

 

https://www.acmicpc.net/problem/2501

 

2501번: 약수 구하기

첫째 줄에 N과 K가 빈칸을 사이에 두고 주어진다. N은 1 이상 10,000 이하이다. K는 1 이상 N 이하이다.

www.acmicpc.net


n, k = map(int, input().split())

data = []

for i in range(1, n + 1) :
  if n % i == 0 :
    data.append(i)

if len(data) < k :
  print(0)
else :
  print(data[k-1])

 

반복문을 통해 1부터 시작하여 n의 약수들을 data 리스트에 할당한다.

 

그 후 조건문을 통해 n의 약수의 개수가 k개보다 적어서 k번째 약수가 존재하지 않을 경우에는 0을 출력하고

 

그렇지 않을 경우에는 data 리스트의 k - 1번째 값을 출력한다.