728x90
코드 힌트
- 4부터 n까지의 숫자에 대해 반복문을 실행합니다.
- 4부터 시작하는 이유: 1은 약수가 없고, 2와 3은 약수가 2개뿐이기 때문에 합성수 조건에 맞지 않습니다.
- 만약 n이 1부터 3 사이의 값이라면, 자연스럽게 반복문이 실행되지 않아 0을 반환하게 됩니다.
- 각 숫자 i에 대해 2부터 i-1까지의 숫자로 나누어 나머지가 0인 경우를 찾습니다.
- 1과 i는 이미 해당 수의 약수이므로 확인할 필요가 없습니다.
정답은 더보기 클릭
더보기
class Solution {
public int solution(int n) {
int result = 0; // 합성수의 개수를 저장할 변수 초기화
// 4부터 n까지의 숫자에 대해 반복문을 실행합니다.
for (int i = 4; i <= n; i++) {
// 각 숫자 i에 대해 2부터 i-1까지의 숫자로 나누어 나머지가 0인 경우를 찾습니다.
for (int j = 2; j < i; j++) {
if (i % j == 0) { // i가 j로 나누어 떨어지면
result++; // 합성수이므로 결과 값 증가
break; // 더 이상 검사할 필요 없이 다음 숫자로 이동
}
}
}
return result; // 합성수의 총 개수를 반환
}
}
728x90
'프로그래머스(Java) > Level 0' 카테고리의 다른 글
[프로그래머스] 문자열 계산하기 (0) | 2024.07.30 |
---|---|
[프로그래머스] 최빈값 구하기 (0) | 2024.07.29 |
[프로그래머스] 외계행성의 나이 (0) | 2024.07.28 |
[프로그래머스] 9로 나눈 나머지 (0) | 2024.07.28 |
[프로그래머스] 분수의 덧셈 (0) | 2024.07.28 |