
이것또한 flag가 true일때와 false일때 if, else문을 사용해서 풀면 된다는 생각을 처음 했다. 하지만
class Solution {
public int solution(int a, int b, boolean flag) {
int answer = 0;
if(flag = true) {
answer = a+b;
} else {
answer = a - b;
}
return answer;
}
}
처음에 이렇게 실행을 했을 때 a= -4, b=7일때 answer = 3이 나왔다. 해결하려고 하다 찾아본 결과 =(대입연산자)를 사용했기때문에 항상 flag = true 평가되기에 오류가 나왔던 것이었다. 그래서 비교연산자인 '=='을 사용한 결과 문제가 해결되었다.
class Solution {
public int solution(int a, int b, boolean flag) {
int answer = 0;
if(flag == true) {
answer = a+b;
} else {
answer = a - b;
}
return answer;
}
}