728x90
https://www.acmicpc.net/problem/1978
문제
주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
입력
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
출력
주어진 수들 중 소수의 개수를 출력한다.
예제 입출력
입력 | 출력 |
4 1 3 5 7 |
3 |
풀이[node.js]
728x90
만약 splited[i]의 값이 1이라면 continue를 해줍니다. 1은 소수가 아니기 때문입니다.
1이 아닌 이외의 값들 중에서 2에서 자기자신을 뺀 값까지 돌면서 만약 나누어지는 값이 있다면 count를 올릴 것이고, 해당 splited[i]를 돌고 나온 후, count가 0이라면, 1과 자기자신외에는 나누어지는 값이 없으므로, 해당 값은 소수로 answer의 카운트를 올려주면 됩니다.
var fs = require('fs');
var inputs = fs.readFileSync('/dev/stdin').toString().split('\n');
var cases = Number(inputs[0]);
var splited = inputs[1].split(' ').map((item) => Number(item));
var answer = 0;
for(var i=0; i<splited.length; i++){
if(splited[i] === 1){
continue;
}else{
var count = 0;
for(var j=2; j<splited[i]; j++){
if(splited[i]%j === 0){
count++;
}
}
if(count === 0){
answer++;
}
}
}
console.log(answer)
728x90
'알고리즘 스터디 > 백준 알고리즘 기초 1' 카테고리의 다른 글
[백준 6588번 골드바흐의 추측 - node.js] [알고리즘 기초 1/2] (0) | 2021.08.03 |
---|---|
[백준 1929번 소수 구하기 - node.js] [알고리즘 기초 1/2] (0) | 2021.08.02 |
[백준 1934번 최소공배수 - node.js] [알고리즘 기초 1/2] (0) | 2021.08.02 |
[백준 17299번 오등큰수 - node.js] [알고리즘 기초 1/2] (0) | 2021.07.31 |
[백준 17298번 오큰수 - node.js] [알고리즘 기초 1/2 ] (0) | 2021.07.30 |
댓글