강의

멘토링

커뮤니티

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

김민수님의 프로필 이미지
김민수

작성한 질문수

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

7. 소수의 개수(에라토스테네스 체)

리스트 슬라이싱을 이용한 에라토스테네스의 체 질문입니다.

작성

·

265

0

N = int(input())
prime = [0, 0, 1] + [1] * (N - 2)
for i in range(2, int(N ** 0.5) + 1):
    if prime[i]:
        prime[2 * i::i] = [0] * (N // i - 1)
print(sum(prime))

이런식으로 리스트 슬라이싱을 이용해서 한번에 처리해 주는 에라토스테네스의 체 구현 방법이 있었는데요.

이게 코드만 봐서 뭘 하려고 하는지 이해는 되는데 작동하는 이유가 리스트 슬라이싱을 해도 call by reference로 리스트 주소로 연결되어 있고 인덱스도 그대로 가져오기 때문이라고 이해하면 될까요??

 

 

답변 1

0

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

안녕하세요^^

네. 저도 잘 모르지만 그렇게 생각합니다.

김민수님의 프로필 이미지
김민수

작성한 질문수

질문하기