인프런 커뮤니티 질문&답변

피리소년님의 프로필 이미지
피리소년

작성한 질문수

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

1. 환경설정 및 K번째 약수 풀이

문제 관련 질문

작성

·

373

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번째로 작은 약수를 출력하고 있는 코드입니다.

피리소년님의 프로필 이미지
피리소년

작성한 질문수

질문하기