알고리즘
section2.1 K번째 약수
gitofjy
2022. 10. 20. 22:32
N과 K를 입력받고 N의 약수들 중 K번째로 작은 수를 출력
단, N의 약수의 개수가 K개보다 적어서 K번째 약수가 존재하지 않을 경우에는 -1을 출력
import sys
sys.stdin = open("input.txt", "rt")
n, k = map(int, input().split())
list = []
for i in range(1, n+1):
if n%i == 0:
list.append(i)
if len(list) < k:
print(-1)
else:
print(list[k-1])
답은 맞았는데 굳이 list를 만들지 않아도 되는 문제였다
import sys
sys.stdin = open("input.txt", "rt")
n, k = map(int, input().split())
cnt = 0
for i in range(1, n+1):
if n%i==0:
cnt+=1
if cnt==k:
print(i)
break
else:
print(-1)
728x90