코딩/백준
[백준] 1978번 소수 찾기 파이썬 풀이 코딩테스트 연습 기본 수학2 실버4
thisisjade
2022. 1. 14. 20:38
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