백준에서도 만났던 유형이다.
소수는 자기 자신 이전의 숫자까지 1이 아닌 다른 수로 나누어떨어지면 안된다는 점을 이용했다.
배열 내 각 원소의 값을 더하는 알고리즘은 다음과 같다.
맨 첫번째(0번째)부터 시작 반복문(1),
그 반복문 내에서 1번째부터 시작 반복문(2),
그 반복문 내에서 2번째부터 시작 반복문(3).
이렇게 해서 반복문(1)은 끝에서 세번째까지,
반복문(2)는 끝에서 두번째까지,
반복문(3)은 끝에서 첫번째까지(끝까지) 반복한다.
반복문(3) 내에서 세 값을 더한 값이 소수인지 아닌지 판별하고 카운트 해준다.
1부터 하면 1에서 걸리니까 2부터 해당 num 전까지 나눠본다.
그 중 나눠지는 것이 있으면 cnt값에 +1을 해준다.
따라서, 소수라면 반복문을 모두 돌았을 때 cnt = 0이다.
그러므로 cnt = 0일때 소수 개수 +1을 한다.
소수가 몇개인지를 요구했지 무슨 소수가 있는지는 물어보지 않았으므로 answer값에 +1만 해준다/
'공부 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 42889번 (0) | 2022.08.02 |
---|---|
[프로그래머스] 81301번 (0) | 2022.06.15 |
[프로그래머스] 86051번 (0) | 2022.06.15 |
[프로그래머스] 59413번 (0) | 2022.06.15 |
[프로그래머스] 42577번 (0) | 2022.06.15 |