package programmers;
import java.util.stream.IntStream;
class flag에_따라_다른_값_반환하기_230517 {
public int solution(int a, int b, boolean flag) {
return flag ? IntStream.of(a, b).sum() : IntStream.of(a, b).reduce((x, y) -> x - y).orElse(0);
}
}
IntStream을 사용하여 a와 b를 스트림으로 만들고, sum() 메서드를 사용하여 두 수의 합을 구한다.
flag 값에 따라 삼항 연산자를 사용하여 합 또는 차를 계산한다.
reduce() 메서드를 사용하여 두 수의 차를 구하고, orElse() 메서드를 사용하여 기본값을 0으로 설정하고 최종 결과를 반환한다.
그런데 사실
package programmers;
import java.util.stream.IntStream;
class flag에_따라_다른_값_반환하기_230517 {
public int solution2(int a, int b, boolean flag){
//이렇게 하면 되긴 합니다...
return flag ? a + b : a - b;
}
}
이렇게 하면 되긴 하다.
댓글
댓글 쓰기