[JS] (프로그래머스) (Lv.0) flag에 따라 다른 값 반환하기
문제
두 정수 a, b와 boolean 변수 flag가 매개변수로 주어질 때, flag가 true면 a + b를 false면 a - b를 return 하는 solution 함수를 작성해 주세요.
답지
function solution(a, b, flag) {
var answer = 0;
return answer;
}
정답
function solution(a, b, flag) {
var answer = flag ? a + b : a - b;
return answer;
}
해설
이것도 앞의 문제와 동일하게 삼항 연산자로 표현할 수 있다.
일단 문제에서 true면 이것, false면 저것이라는 표현이 있기 때문에 조건문이 사용된다는 것을 알 수 있다.
따라서 flag가 true면 a+b를, flag가 false면 a-b를 표현하라고 할 땐 위와 같이 삼항 연산자로 간단하게 표현할 수 있다.
다만 이는 if...else...문으로도 표현이 가능하다.
function solution(a, b, flag) {
var answer = 0;
if (flag) {
answer = a + b;
} else {
answer = a - b;
}
return answer;
}
위와 같이 표현할 수 있다.
answer = 0은 초기값을 0으로 하라는 의미이고, var answer;만 하고 끝낸다면 초기값이 없어 undefined 상태가 되므로 값을 할당하지 않으면 함수를 사용할 수 없어 나중에 예기치 않은 오류를 일으킬 수 있어 좋은 습관은 아니다.
구문을 보면
if (true, false를 검사할 조건) {참일 때 실행할 값} else {거짓일 때 실행할 값} 으로 구성되어있다.
그리고 계산을 마친 값을 return하도록 되어있다. 이 return을 생략하면 계산만 하고 계산된 결과를 반환하지 않는다.
'Programing > CodeKata' 카테고리의 다른 글
[프로그래머스] 몫 구하기 (나눗셈 연산자, parseInt) (0) | 2024.05.24 |
---|---|
[프로그래머스] 두 수의 곱 (함수 기본, 논리곱연산자(&&)) (0) | 2024.05.24 |
[프로그래머스] 두 수의 합 구하기 (함수 기본) (0) | 2024.05.24 |
문자열 구분자 기준으로 구분하여 배열로 반환하기 (0) | 2024.05.24 |
[JS] (프로그래머스) (Lv.0) n의 배수 (0) | 2024.03.06 |
댓글