-> 자세한 내용 보러가기
class Solution {
public int solution(int n) {
int answer = 0;
for(int idx = 2; idx < n; idx++){
if((n-1) % idx == 0){
answer = idx;
break;
}
}
return answer;
}
}
import java.util.stream.IntStream;
class Solution {
public int solution(int n) {
return IntStream.range(2, n).filter(i -> n % i == 1).findFirst().orElse(0);
}
}
: IntStream.range(2,n) : 2부터 n-1까지의 정수로 이루어진 스트림을 생성
(range 매서드의 첫번째 인수는 시작값, 두번째 인수는 끝값)
: .filter(i -> n % i == 1) : 스트림에서 특정 조건을 만족하는 요소만을 필터링
: findFirst() : 필터링된 결과 중 첫번째 요소 반환
: orElse(0) : findFirst의 결과가 없는 경우 (= 조건을 만족하는 정수 i가 없는 경우) 기본값으로 0을 반환