반응형 python약수구하기1 [파이썬 알고리즘 문제풀이] : K번째 약수 문제 N과 K라는 자연수가 주어졌을 때 N의 약수 중 K번째로 작은 수를 출력하시오. K번째 약수가 존재하지 않다면 -1을 출력하시오. 풀이 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) 두 개의 숫자를 읽기 위해 map 함수에서 split을 통해 띄어쓰기를 기준으로 구분하여 두 값을 받고 그 값을 int화 시키라는 뜻 입니다. 6과 3을 넣는다면 6이 n에 3이 k에 들어가게 됩니다. 약수이면 cnt를 1 증가시킵니다. 그러다 k번째 약수가 발견되면 멈춥니다. 만약 찾지 못 했다면 -1을 해 줍니다. for , else문이 있는데 브레.. 2021. 12. 5. 이전 1 다음 반응형