강의

멘토링

커뮤니티

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

ajdsasld님의 프로필 이미지
ajdsasld

작성한 질문수

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

3. K번째 큰 수

K번째 큰 수 관련 질문입니다~

작성

·

232

0

안녕하세요, 강사님.

K번째 큰 수 풀이를 볼 때, 중복을 방지하고 서로 다른 3가지 수를 뽑기 위해 3중 for문을 사용해서

for i in range(n):
    for j in range(i+1, n):
        for m in range(j+1, n):
            res.add(a[i] + a[j] + a[m])

이런식의 풀이가 진행된다고 해주셨는데요. 제가 이해가 안되는 부분은 이렇게 for문을 진행하면 항상 그 다음 인덱스부터 for문이 진행되니까 132나 231같은 수는 나올 수 없는 코드이지 않나 생각했던 것 같습니다. 혹시 문제가 k번째 큰 수를 출력하는 것이니까 이 부분을 고려할 필요가 없어서 그런걸까요?

이것과 관련해서 답변주시면 감사하겠습니다!

답변 1

1

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

위에 처럼 3중 for문이 돌면 조합의 경우를 만듭니다. 순열을 만들지는 않습니다.

ajdsasld님의 프로필 이미지
ajdsasld
질문자

네, 강사님~ 순서 관계없이 3가지 수를 뽑는 방법이라고 생각하면 되겠네요. 답변 감사합니다:)

ajdsasld님의 프로필 이미지
ajdsasld

작성한 질문수

질문하기