본문 바로가기

코딩테스트(python)/백준

백준 1978번 파이썬

반응형

1. 문제

2. 설명

i가 1 이면 continue한다.

그 외에는 for문을 사용하여 2부터 i까지 나눠보며 나머지가 0이면 check 값을 증가시킨다.

최종적으로 그 어떤 숫자로도 나누어지지 않았다면 check가 0이되어 count값에 1을 증가시켜 소수의 갯수를 체크한다.

3. 코드

n = int(input())
data = list(map(int, input().split()))

count = 0

for i in data :
  check = 0
  if i == 1 :
    continue
  for j in range(2, i) :
    if i % j == 0 :
      check = 1
  
  if check == 0 :
    count += 1

print(count)

내가 작성한 코드

n=int(input())
num_list = list(map(int, input().split()))
sum=0
for i in num_list:
    if i==2:
        sum+=1
    elif i%2==0 or i==1:
        continue
    else:
        for j in range(2,i):
            if i%j==0:
                continue
        sum+=1
print(sum)

테스트케이스 몇 개 해봤을 땐 잘 나오는데 왜 오답이라고 뜨는지 모르겠다 ㅠㅠ

언젠간 이유를 알게되려나...

반응형

'코딩테스트(python) > 백준' 카테고리의 다른 글

백준 11653번 파이썬  (0) 2022.08.30
백준 2581번 파이썬  (0) 2022.08.30
백준 10757번 파이썬  (0) 2022.08.30
백준 2839번 파이썬  (0) 2022.08.29
백준 2775번 파이썬  (0) 2022.08.25