카테고리 없음

Lv0 - flag에 따라 다른 값 반환하기

Dotae1 2025. 2. 6. 21:58

이것또한 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;
    }
}