• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

range 범위

20.06.19 01:01 작성 조회수 109

2

안녕하세요 강사님 강의 잘듣고있습니다 감사합니다~!

질문할 것이 있는데요.

삼중 for문에서 range의 범위가 모두 n으로 끝나는데

for i in range(n-2):
    for j in range(i+1, n-1):
        for k in range(j+1, n):

정확한 답을 내기 위해서는 범위를 위 처럼 가서 카드를 중복으로 뽑지않도록 보장하여야 할 것 같은데 혹시 어떻게 생각하시나요?

답변 3

·

답변을 작성해보세요.

0

김동규님의 프로필

김동규

2021.02.17

아 그래서 종수님말대로 sum 자체가 실행이 안되니까 한개나 두개의 숫자만 더해지는 일도 없겠네요

0

박종수님의 프로필

박종수

2020.08.20

저도 같은 질문이었는데, 

i가 3이되면 range(i+1,n) -> range(4,5)
j가 4가 되면 range(j+1,n) -> range(5,5)

가 되어서 바깥 for문은 돌지만 가장 안쪽 for문이 실행되지 않는거군요.

0

감사합니다^^

현묵님 코드처럼 하는게 제일 좋습니다.  

모두 n으로 끝나도 중복으로 뽑힐 일은 없기 때문에 편하게 다 n으로 했던것 같습니다.

    for i in range(5):
        for j in range(i+1, 5):
            for k in range(j+1, 5):
                print(i, j, k)

위 코드를 실행해보면 중복되지 않는다는 것 알 수 있을 겁니다.