[프로그래머스] 합성수 찾기 (Java)
2022. 12. 19. 17:08ㆍ프로그래머스
반응형
문제 설명
약수의 개수가 세 개 이상인 수를 합성수라고 합니다. 자연수 n이 매개변수로 주어질 때 n이하의 합성수의 개수를 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ n ≤ 100
입출력 예
n | result |
10 | 5 |
15 | 8 |
입출력 예 설명
입출력 예 #1
- 10 이하 합성수는 4, 6, 8, 9, 10로 5개입니다. 따라서 5를 return 합니다.
입출력 예 #1
- 15 이하 합성수는 4, 6, 8, 9, 10, 12, 14, 15로 8개입니다. 따라서 8을 return 합니다.
풀이
class Solution {
public int solution(int n) {
int answer = 0;
//1부터 n까지의 자연수 중 합성수의 개수를 구하기 위한 반복문
for(int i = 1; i <= n; i++) {
int count = 0; //약수의 개수 count, 각 수마다 count 초기화
for(int j = 1; j<= i; j++) {
count += (i % j == 0) ? 1 : 0; //나누어 떨어지면 약수이기 때문에 count +1
}
answer += (count >= 3) ? 1 : 0; //약수의 개수가 세 개 이상이면 합성수이기 때문에 answer +1
}
return answer; //합성수의 개수 return
}
}
반응형
'프로그래머스' 카테고리의 다른 글
[프로그래머스] 소인수분해 (Java) (0) | 2023.01.04 |
---|---|
[프로그래머스] 팩토리얼 (Java) (0) | 2022.12.20 |
[프로그래머스] 공 던지기 (Java) (0) | 2022.12.19 |
[프로그래머스] 2차원으로 만들기 (Java) (0) | 2022.12.15 |
[프로그래머스] 구슬을 나누는 경우의 수 (Java) (0) | 2022.12.13 |