Where who wants to meet someone
백준 Swift [1978] 소수 찾기 본문
728x90
난이도
브론즈 II
문제
https://www.acmicpc.net/problem/1978
내 답안
let n = Int(readLine()!)!
let input = readLine()!.split(separator: " ").map { Int($0)! }
// 소수의 개수를 담을 프로퍼티 sum
var sum = 0
// input으로 받은 값으로 돌아야 하니 forEach 사용
input.forEach { value in
// 매번 약수의 개수를 담는 count 초기화
var count = 0
// 1부터 value까지 돌면서 i가 약수라면 count에 1 더해주기
for i in 1...value {
if value % i == 0 {
count += 1
}
}
// value까지 다 돌았을 때 약수의 개수가 2개라면 소수이기 때문에 sum에 1 더해주기
if count == 2 {
sum += 1
}
}
// 최종 sum의 값(= 소수의 개수) 출력
print(sum)
- 소수: 1과 자기 자신만을 약수로 가지는 수
'백준 알고리즘 문제 기록 > 약수, 배수와 소수' 카테고리의 다른 글
백준 Swift [11653] 소인수분해 (0) | 2023.07.01 |
---|---|
백준 Swift [2581] 소수 (0) | 2023.07.01 |
백준 Swift [9506] 약수들의 합 (0) | 2023.07.01 |
백준 Swift [2501] 약수 구하기 (0) | 2023.07.01 |
백준 Swift [5086] 배수와 약수 (0) | 2023.07.01 |