궁금한게 많은 코린이의 Developer 노트

[TIL] 프로그래머스 기초 flag에 따라 다른 값 반환하기 본문

TIL

[TIL] 프로그래머스 기초 flag에 따라 다른 값 반환하기

lemonarr🍋 2024. 2. 23. 16:27

 

 

나의 문제풀이

function solution(a, b, flag) {
    let answer = flag == true ? a+b : a-b;
    return answer
    
}

 

삼항 연산자를 사용해서 문제를 풀어보았다.

한 줄로도 코드 구현이 가능할 것 같아서 이리저리 시도해보았는데

 

function solution(a, b, flag) {
    return flag == true ? a+b : a-b;
}

 

이렇게 작성하게 되면 도출 값이 true/ false 이 둘 중에 하나로 나오게 된다..

다시 작성해 본 바로는 answer 라는 변수를 설정하고 삼항 연산자를 써주었더니 작동이 되었다..

 

 

 

다른사람의 문제풀이

 

function solution(a, b, flag) {
    return (flag)? a+b : a-b;
}

 

 

역시..간단하게 한 줄로 구현이 가능했다.

저 flag 겉에 씌여 있는 괄호는 없어도 정답인데 왜 사용했을까?

 

뤼튼에게 물어보니 

앞에 있는 식의 우선순위를 명확히 하기 위해서 그렇다고 한다.

 

 

 

 


 

 

몰랐던 부분 정리

 

 

식에 괄호를 사용하면 좋은 점:

 

삼항 연산자 ? 와 : 는 우선순위가 낮아서

다른 연산자 +, - 와 함께 사용될 때 괄호로 감싸는 것이 좋다고 한다.

 

괄호를 사용함으로서 조건을 명확히 하고 그 조건에 따라 반환되는 결과 또한 명확해지기 때문에 사용.

코드의 가독성을 높이고 식의 의도를 명확하게 전달할 수 있다. 좋은 프로그래밍의 관례라고..