-
[Java 자바] 프로그래머스 Lv 0 - 합성수 찾기Study/Java 2024. 10. 28. 11:16728x90반응형
목차
1. 문제 설명
728x90문제 설명
약수의 개수가 세 개 이상인 수를 합성수라고 합니다.
자연수 n이 매개변수로 주어질 때 n이하의 합성수의 개수를 return하도록 solution 함수를 완성해주세요.제한사항
- 1 ≤ n ≤ 100
2. 입출력 예시
입출력 예시
#1
10 이하 합성수는 4, 6, 8, 9, 10 로 5개입니다. 따라서 5를 return합니다.
#2
15 이하 합성수는 4, 6, 8, 9, 10, 12, 14, 15 로 8개입니다. 따라서 8을 return합니다.
3. 문제 풀이
반응형문제 풀이
1. for 문을 통해 1부터 n까지 1씩 증가하면서 반복한다.
2. factors 변수를 만들어 약수의 개수를 넣을 변수를 생성한다.
3. 이중 반복문을 통해 해당 숫자에 약수가 있을 때마다, 약수의 개수를 1씩 증가시킨다.
4. 약수의 개수가 2개를 초과하면, 해당 숫자는 합성수로 여기고, answer를 1씩 증가한다.
5. answer를 반환한다.
class Solution { public int solution(int n) { int answer = 0; for(int i=1; i<=n; i++){ int factors = 0; // 약수 개수 for(int j=1; j<=i; j++){ if(i%j==0){ factors++; // 조건이 맞으면, 약수의 개수 1씩 증가 } } if(factors>2){ // 약수의 개수 2를 초과하면, answer에 값 증가 answer++; } } return answer; } }
728x90반응형'Study > Java' 카테고리의 다른 글
[Java 자바] 프로그래머스 Lv 0 - 팩토리얼 (0) 2024.10.29 [Java 자바] 프로그래머스 Lv 0 - 최댓값 만들기 (1) (0) 2024.10.29 [Java 자바] 프로그래머스 Lv 0 - 주사위의 개수 (0) 2024.10.28 [Java 자바] 프로그래머스 Lv 0 - 배열 회전시키기 (0) 2024.10.27 [Java 자바] 프로그래머스 Lv 0 - 공 던지기 (2) 2024.10.27