• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

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

22.08.27 17:43 작성 조회수 131

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

질문자

2022.09.02

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