[5/25] 1978 (소수 찾기)

이경준·2021년 5월 25일
0

코테

목록 보기
15/140
post-custom-banner

문제 실패

내 풀이

N = int(input())
arr = list(map(int, input().split()))
count = 0

def sosu(num):
    answer = False
    if (num % 2 != 0 and num % 3 != 0 and num % 5 != 0 and num % 7 != 0 and n != 1 or num in (2,3,5,7)):
        answer = True
    return answer

for i in arr:
    if (sosu(i) == True):
        count += 1

print(count)

풀이

  1. 개수와 리스트 입력
  2. 소수 판별 함수 제작 (안돌아가는거 보니 잘못짠듯)
  3. 리스트 원소를 for문 돌려서 소수면 count 추가한다.
  4. 개수 return

효율적인 코드

N = int(input())

arr = list(map(int, input().split()))
def sosu(num):
    answer = False
    cnt = 0
    for i in range(2, num+1):
        if (num % i == 0):
            cnt += 1
    if (cnt == 1):
        answer = True
    return answer

count = 0
for j in arr:
    if sosu(j):
        count += 1

print(count)

피드백

  • 소수 구하는 코드는 그냥 로직을 외워야겠다.

배운 것

profile
The Show Must Go On
post-custom-banner

0개의 댓글