소수 찾기(1978번)

PearLine_Zero·2024년 4월 1일

하루에 1커밋 CodingTest

목록 보기
73/110
post-thumbnail
  • 티어 : Bronze 2
  • 정답여부 : 정답
  • 알고리즘 유형 : 수학, 정수론, 소수 판정
  • 시간 제한 : 2초

💡문제

주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.

💡입력

첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.

💡출력

주어진 수들 중 소수의 개수를 출력한다.

💡예제 입력 1

4
1 3 5 7

💡예제 출력 1

3

💡문제요약

입력받을 수의 테스트 케이스를 입력받고
그 케이스만큼 숫자들을 입력받아서 각 숫자들중 소수의 수가 몇개 인지 출력하는 문제

💡알고리즘 설계

  1. 테스트 케이스를 입력받음
  2. 각 숫자들을 리스트로 입력받고 count 변수를 만들어줌
  3. 각 숫자들의 요소를 x로 하나씩 빼주는데 2부터 x를 for문 돌림
  4. 만약 i를 나누는데 나머지가 0이 나오고 i가 x라면 count +1 하고 break
  5. count 소수들이 몇개인지 출력

💡작성코드

  • python
N = int(input())
number = list(map(int, input().split()))
count = 0
for x in number:
  for i in range(2, x+1):
    if x % i == 0: #1로 나눠지는지 확인
      if x == i: # i가 X라면
        count += 1
      break
print(count)

💡틀린 이유 or 수정할 부분

없음.

💡틀린 부분 수정 or 다른풀이

없음.

💡느낀점 or 기억할 정보

처음에 if x % i == 0: 만 하면 되는거 아닌가? 생각했는데 틀려서 왜 틀린지 모르겠다.. 이유를 찾고 싶은데 답을 모르겠다 ..ㅠㅠ 백준은 오답에 대해서 답을 안 알려주는거 같아서 답답..ㅎ

profile
https://baesaa0304.tistory.com 블로그 이사합니다~

0개의 댓글