• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

문제 관련 질문

21.01.04 21:39 작성 조회수 218

0

문제를 보면  'N의 약수들 중 K번째로 작은 수'를 출력하라고 되어 있는데, 풀이를 보면, K번째로 큰 수를 출력하는 것으로 되어 있습니다.

K번째로 작은 수를 출력하려면 어떻게 풀어야 할까요? 리스트에 넣고, 슬라이싱으로 푸는 방법 말고, 문자열로는 어떻게 풀어야 할지 감이 잡히지 않네요.

답변 4

·

답변을 작성해보세요.

1

1, 2, 3, 6 중 제일  큰수는 6, 두번째로 큰 수는 3, 세번째로 큰수는 2 이렇게 수학적으로 이야기합니다.

1, 2, 3, 6 중 제일 작은 수는 1, 두번째로 작은 수는 2, 세번째로 작은 수는 3 이런식으로 수학에서는 표현합니다.

0

고맙습니다.

0

6의 약수 1,2,3,6 중에서 3번째로 작다고 하면, 2가 아닌가요?

제가 혹시 문제를 잘 못 이해한 걸까요?

0

안녕하세요^^

cnt=0
for i in range(1, n+1):
    if n%i==0:
        cnt+=1
    if cnt==k:
        print(i)
        break
else:
    print(-1)

영상에서 설명하고 있는 코드입니다. i가 1부터 돌고 있으므로 n의 약수중 k번째로 작은 약수를 출력하고 있는 코드입니다.