-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
리스트 슬라이싱을 이용한 에라토스테네스의 체 질문입니다.
21.11.14 21:33 작성 조회수 156
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로 리스트 주소로 연결되어 있고 인덱스도 그대로 가져오기 때문이라고 이해하면 될까요??
답변을 작성해보세요.
0
답변 1