- 내 풀이
class Solution {
public int solution(int n) {
int answer = 0;
int count = 0;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= i; j++) {
if (i % j == 0){
count++;
}
}
if (count >= 3){
answer++;
count = 0;
}else {
count = 0;
}
}
return answer;
}
}
해당 n값 만큼 for문을 돌려서 나머지가 딱 떨어지는 3개 이상의 값을 구해서 answer에 넣어주도록 했다.
합성수....이런건 우리 안찾아도 되지않을까?...
- 다른 사람 풀이
import java.util.stream.IntStream;
class Solution {
public int solution(int n) {
return (int) IntStream.rangeClosed(1, n).filter(i -> (int) IntStream.rangeClosed(1, i).filter(i2 -> i % i2 == 0).count() > 2).count();
}
}
class Solution {
public int solution(int n) {
int answer = 0;
for (int i = 1; i <= n; i++) {
int cnt = 0;
for (int j = 1; j <= i; j++) {
if (i % j == 0) cnt++;
}
if (cnt >= 3) answer++;
}
return answer;
}
}
'프로그래머스 > [프로그래머스 - JAVA] Lv.0' 카테고리의 다른 글
[프로그래머스 -JAVA] 중복된 문자 제거 (0) | 2023.03.11 |
---|---|
프로그래머스 시작하기 (2) | 2023.03.11 |
[프로그래머스 - JAVA] 문자열 정렬하기(2) (0) | 2023.03.11 |
[프로그래머스 - JAVA] 숫자 찾기 (0) | 2023.03.11 |
[프로그래머스 - JAVA] 약수 구하기 (0) | 2023.03.11 |
댓글