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

dhotksis님의 프로필 이미지

작성한 질문수

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

3. K번째 큰 수

for loop 슬라이싱 질문

작성

·

158

0

안녕하세요 강사님, 좋은 강의 감사드립니다!

저는 처음에 for loop을 슬라이싱을 이용하여 풀려고 하였습니다.

for i in l[ : len(l) - 2]:

    print(i)

    for j in l[i + 1 : len(l) - 1]:

        print(j)

        for k in l[j + 1 :]:

            print(k, end = ' ')

            if i + j + k in a:

                continue

            else:

                a.append(i + j + k)

이런식으로 for loop을 작성하였으나, 정상적으로 제가 만든 l 이라는 리스트를 돌지 않던데, 인덱싱을 사용한 경우는 for loop을 사용할 수 없는것 인가요? 아니면 제가 문법 오류를 낸것 인가요?

답변 2

1

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

for i in l[ : len(l) - 2]: 에서 i값은 l리스트의 인덱스 번호가 아니라 원소값입니다.  그래서 for j in l[i + 1 : len(l) - 1]: 문의 슬라이싱하는 i+1의 의미가 생각했던 i인덱스 뒤편부터 슬라이싱한다는 본래 의미는 아니게 되는 거죠.

 

0

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

아... 그렇네요... 답변 감사합니다!!

dhotksis님의 프로필 이미지

작성한 질문수

질문하기