문제
내가 작성한 정답
class Solution {
public int solution(int n) {
int answer = 0;
if(1<=n&&n<=1000000){
for(int i=1; i<=n; i++){
if(n%i == 0){
answer = answer+1;
}
}
}
return answer;
}
}
다른 사람들이 작성한 정답
import java.util.stream.IntStream;
class Solution {
public int solution(int n) {
return (int) IntStream.rangeClosed(1, n).filter(i -> n % i == 0).count();
}
}
IntStream.rangeClosed 메소드는 주어진 범위의 정수 스트림을 생성하는 데 사용된다. 이 메소드는 시작 값과 끝 값(포함)을 지정하여 해당 범위의 모든 정수를 포함하는 스트림을 생성한다.
filter 메소드는 스트림에서 조건을 만족하는 요소만을 선택하여 새로운 스트림을 생성한다.
여기서 사용된 i -> n % i == 0는 람다 표현식으로, i가 n의 약수인지 확인한다
Share article