코딩테스트(python)/백준

백준 1978번 파이썬

bbeyak 2022. 8. 30. 14:33
반응형

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)

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

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

반응형