728x90
반응형
문제설명
두 정수 a, b와 boolean 변수 flag가 매개변수로 주어질 때, flag가 true면 a + b를 false면 a - b를 return 하는 solution 함수를 작성해 주세요.
제한사항
- -1,000 <=a, b <= 1,000
입/출력 예
a | b | flag | result |
-4 | 7 | true | 3 |
-4 | 7 | false | -11 |
입/출력 예 #1
- a 예제 1번에서 flag가 true이므로 a + b = (-4) + 7 = 3을 return 합니다.
입/출력 예 #2
- a 예제 2번에서 flag가 false이므로 a - b = (-4) -7 = -11을 return 합니다.
[제출 답안]
class Solution {
public int solution(int a, int b, boolean flag) {
int answer = 0;
if (a >= -1000 && a <= 1000 && b >= -1000 && b <= 1000) {
answer = flag ? a + b: a - b;
}
return answer;
}
}
[풀이과정]
위와 같이 3항 연산자를 활용하였다.
[다른 풀이]
return a + (flag ? 1 : -1) * b;
연산 우선순위는
1. 괄호 2. 곱셈 3. 덧셈이다.
우선순위에 따라 flag값이 true이면 b는 양수 false이면 음수로 변경된다.
이후 덧셈을 계산하게 되면 flag값이 true이면 a+b / false이면 a+ (-b)가 된다.
대단한 상상력인것 같다.
728x90
반응형
'코딩테스트 - 프로그래머스 > Lv. 0' 카테고리의 다른 글
[22] JAVA 몫 구하기 (0) | 2023.11.16 |
---|---|
[21] JAVA 두 수의 차 (0) | 2023.11.15 |
[19] JAVA 조건 문자열 (0) | 2023.11.15 |
[18] JAVA 홀짝에 따라 다른 값 반환하기 (0) | 2023.11.15 |
[17] JAVA 공배수 (0) | 2023.11.15 |