inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

인덱스 번호

187

australialove19

작성한 질문수 53

2

매 강의를 들으면서 많은 걸 배워갑니다 좋은 강의에 대한 감사를 전하며 질문 시작하겠습니다 !

리스트를 사용할 때 매번 인덱스가 등장하면서 헷갈리는데요

이번 문제에서는 인덱스를 0부터 시작하지 않고 1로 가정하고 시작하셨는데, 왜 그런지 이해가 되지 않습니다 ㅠㅠ

```

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

    if ch[i] ==0:

```

이 코드가 있을 때,  i가 2부터 시작하면 사실상 리스트의 3번째 부터 시작인데... 앞의 숫자 1,2는 왜 포함이 안되나요..?

python 코테 준비 같이 해요!

답변 2

0

김태원

안녕하세요^^

인덱스 변수인 i가 우리가 소수인지를 확인하는 숫자라고 생각하시면 됩니다. 

0

haon

처음에 배열(리스트)크기가 어느정도였나요?

전체코드를 한번보여주세요!

0

australialove19

```

n=int(input()) 
ch=[0]*(n+1)
cnt=0
for i in range(2, n+1):
if ch[i] == 0:
if ch[i]==0:
cnt+=1
for j in range(i, n+1, i):
ch[j]=1
print(cnt)

```

전체코드입니다 !

0

australialove19

생각하기 쉽게 인덱스 0을 버리고 배열 길이를 하나 더 늘려준걸까요..?

그러면 공간 낭비는 아닌지 ㅠㅠ

0

australialove19

아!!! 어차피 0과 1은 소수가 아니고,

i=2부터 시작해도 일반적으로 생각하는 숫자와 인덱스 번호와 일치하니까 ..!

이렇게 한 것 같은데 맞나요..!??

하지만 0은 고려할 부분이 아닌 것 같은데...여기에 대한 의문만 해결하면 완전히 이해될 것 같아요..!

0

haon

예를들어서 처음의 ch = [0]*(n+1)를 ch = [0]*(n)로 바꿔도 인덱스에러가 나니까 어쩔 수 없을것같아요.

기존에 윈도우 10으로 잘 써왔는데 윈도우 11로 바꾸고 나서 채점이 안됩니다.

0

76

2

스택에서 ')'을 만나는 경우

0

78

3

문제가 어디있나요?

0

63

2

변수 or 함수명

0

61

1

침몰하는 타이타닉 문제 질문입니다

0

54

1

AA.py 책점 에러

0

57

1

오늘 구매했는데 파이썬 자료구조 궁금한거 있으면 답변이 잘 될까요.

0

111

2

5.동전분배하기 문제 밑에코드도 정답이될까요?

0

109

1

아나그램 비교 코드

0

116

2

AA.PY파일 복사 후 채점 진행할때 오류 발생합니다.

0

160

2

문제 링크가있나여?

0

147

2

채점기 Time Limit Exceeded 오류 문의

1

162

2

동적계획법은 사용하는 문제

0

125

2

제 코드 좀 봐주세요

0

147

1

예외가 존재할 가능성?

0

96

1

3번이 안풀립니다

0

93

0

5번 틀림

0

113

0

오류원인?

0

97

0

리스트 선언

0

106

1

침몰하는 타이타닉(그리디) 문제 질문

0

109

1

알고리즘

0

68

1

코딩테스트

0

88

1

DFS 순서 질문드립니다.

0

121

2

left, right를 사용한 풀이법에 대한 질문입니다

0

88

1