문제 설명
약수의 개수가 세 개 이상인 수를 합성수라고 합니다. 자연수 n이 매개변수로 주어질 때 n이하의 합성수의 개수를 return하도록 solution 함수를 완성해주세요.
잠깐 생각해보고
약수 3개 이상이면 카운트 해서 출력하면 되는 건 알겠지만
약수 3개 이상을 어떻게 구하나 싶어서
생각을 더해야 되는 건 맞지만
쉬운 문제이고 아직 어느 정도 경험치가 안쌓여서 다시 쌓아야 해서
검색해 보았다.
for 문으로 1~이상에서 나누어서 몫이 있으면
count를 1 증가 시키면 될 것 같았다.
class Solution {
public int solution(int n) {
int answer = 0;
for(int i = 1 ; i <= n ; i++){
int count = 0;
for(int j = 1; j <= i; j++){
if (i % j == 0) count++;
}
if (count >= 3) answer++;
}
return answer;
}
}
코딩을 시작하니 몇 번 만에 쉽게 완성 할 수 있었다.
'[코딩테스트]' 카테고리의 다른 글
| [프로그래머스] 약수의 합 - java (0) | 2024.04.06 |
|---|---|
| [프로그래머스] 옹알이(1) -자바 (0) | 2024.04.06 |
| [프로그래머스] 같은 숫자는 싫어 - 자바 (0) | 2024.04.06 |
| [프로그래머스] 옹알이(2) - Java (0) | 2024.04.04 |
| [프로그래머스] 외계어 사전 - Java (0) | 2024.04.04 |