• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

섹션4 K번째 큰 수

22.08.06 12:45 작성 조회수 135

0

강의에서 for문을 돌리실 때
for(let i=0; i<n; i++){ for(let j=i+1; j<n; j++){
for(let k=j+1; k<n; k++){ tmp.add(card[i]+card[j]+card[k]); } } }

j = i+1, k = j + 1 로 하게 되면 범위가 모든 숫자의 합의 경우의 수가 안나오지 않나요???

예를 들어 입력 예제를 봤을 때

13 15 34 23 45 65 33 11 26 42 인 경우

13+13+13 같은 경우의 수는 빼고 값을 구하는 건데 문제에선 같은 숫자의 카드가 여러개 있을 수 있다고 되있어서요.

설명 한번만 해주시면 감사하겠습니다ㅠㅠ

답변 1

답변을 작성해보세요.

0

안녕하세요^^

네. 맞습니다. 조합을 뽑아내는 거니까  j=i+1 k=j+1로 하면 됩니다. 

같은 숫자의 카드가 여러개 있다면 입력이 13, 15, 13, 13, 34, 23 과 같이 13이 여러번 등장한다는 것입니다. 즉 

이 입력에서는 13+13+13 도 가능하다입니다.