728x90
문제
주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
입력
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
출력
주어진 수들 중 소수의 개수를 출력한다.
예제 입력 1
4
1 3 5 7
예제 출력 1
3
문제를 풀다가 코드가 너무 길어지긴하였지만 한번에 답 맞췄으니까 성공!
num = int(input())
target = list(map(int, input().split()))
cnt = 0
for i in range(num):
if target[i] == 1:
continue
elif target[i] == 2:
cnt +=1
else:
tmp = 1
while True:
tmp +=1
if target[i]/tmp == target[i]//tmp and target[i] != tmp:
break
elif target[i] == tmp:
cnt +=1
break
print(cnt)
1과 2를 따로 처리해줘야한다고 생각을했는데 코드다시보니까 2는 따로 안빼줘도 됐었네요
다른방식으로 코드를 작성하다가 바꿔서 저 부분을 체크하지 못한것 같습니다!
728x90
'코딩 > 백준' 카테고리의 다른 글
[백준] Hello, BOJ 2022! 코딩테스트 대회 참가후기 파이썬 난이도 무엇...? (0) | 2022.01.15 |
---|---|
[백준] 2581번 소수 파이썬 풀이 코딩테스트 연습 기본 수학2 실버5 (0) | 2022.01.14 |
[백준] 1011번 Fly me to the Alpha Centauri 파이썬 풀이 코딩테스트 연습 기본 수학1 골드5 (0) | 2022.01.13 |
[백준] 10757번 큰 수 A+B 파이썬 풀이 코딩테스트 연습 기본 수학1 브론즈5 (0) | 2022.01.12 |
[백준] 2839번 설탕 배달 파이썬 풀이 코딩테스트 연습 기본 수학1 브론즈1 (0) | 2022.01.11 |