n,k = map(int,input().split())
answer = []
for i in range(1,n+1):
if n % i == 0:
answer.append(i)
if len(answer) > k:
print(answer[k-1])
else: #for문이 정상적으로 끝났다면 else로 안 옴. 거짓일 때만 else로
print(-1)
+++
k번째 숫자만 출력하면 되는데
끝까지 돌고 슬라이싱 하기 때문에 효율성에서 좋지 못하다고 느껴진다.
n,k = map(int,input().split())
answer = 0
for i in range(1,n+1):
if n % i == 0:
answer += 1
if answer == k: # 슬라이싱 말고 발견하면 그냥 출력
print(i)
break
else:
print(-1)
+++
K번째 숫자까지만 돌다 나오기 때문에 속도가 훨씬 빠를 것으로 생각된다