🍊 변수의 최솟값 최댓값 제한하기
변수의 값이 최솟값보다 작으면 최솟값을 갖게 하고, 최댓값보다 크면 최댓값 갖게 해서 변수의 값이 항상 최솟값과 최댓값 사이에 있도록 코드를 작성해 보자.
첫 번째, 분기문을 작성하면 간단하게 해결된다.
if 분기문
public class App {
private static final int MIN_VALUE = 0;
private static final int MAX_VALUE = 100;
public static void main(String[] args) {
int result = processValue(105);
System.out.println(result); // 100
}
public static int processValue(int value){
if(value < MIN_VALUE){
value = 0;
} else if(value > MAX_VALUE){
value = 100;
}
return value;
}
}
두 번째, 조금 더 간지(?)나게 min, max 메서드를 사용해서 문제를 해결할 수 있다.
변수의 초깃값(105)과 최댓값(100)의 min을 구한 다음, 최솟값(0)과 max를 하면 결과는 항상 최댓값과 최솟값 사이에 속한다.
min, max 메서드 사용
public class App {
private static final int MIN_VALUE = 0;
private static final int MAX_VALUE = 100;
public static void main(String[] args) {
int result = max(MIN_VALUE, min(105, MAX_VALUE));
System.out.println(result); // 100
}
public static int min(int a, int b){
return a > b ? b : a;
}
public static int max(int a, int b){
return a > b ? a : b;
}
}
'Algorithm > 감명 깊게 본 코딩 팁' 카테고리의 다른 글
[코딩 팁] 최대공약수 : 유클리드 호제법 원리 (1) | 2021.12.03 |
---|---|
[코딩 팁] 방향 배열(Direction Array) : 상하좌우 이동 (0) | 2021.10.03 |