알고리즘 문제 풀기 (JS입문) - 짝수 홀수
문제
정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요.
- num은 int 범위의 정수입니다.
- 0은 짝수입니다.
예시로 3은 "Odd", 4는 "Even"
function solution(num) {
var answer = '';
return answer;
}
내가 푼 답
function solution(num) {
var answer = '';
if (num % 2 === 0){
return "Even"
} else {
return "Odd"
}
return answer;
}
- if문을 사용하여 '만약 num을 2로 나눴을때 나머지가 0이라면' 으로 가정을 하고
0이라면 "Even"을 반환하고 0이 아니라면 "Odd"를 반환하라고 정했다.
문제에서 예시 숫자로 3과 4가 나왔고
3은 나머지가 1이 나와서 홀수 " Odd" 이고
4은 나머지가 0이기 때문에 짝수로 "Even" 나온다.
다른 사람이 푼 답
function evenOrOdd(num) {
return num % 2 ? "Odd" : "Even";
}
console.log("결과 : " + evenOrOdd(2));
console.log("결과 : " + evenOrOdd(3));
위의 답은 삼항연산자를 사용하였다.
조건 (삼항) 연산자는 JS에서 세 개의 피연산자를 받는 유일한 연산자이다.
앞에서부터 조건문, 물음표(?), 조건문이 참(truthy)일 경우 실행할 표현식, 콜론(:), 조건문이 거짓(falsy)일 경우 실행할 표현식이 배치된다. 해당 연산자는 if...else문의 대체재로 빈번히 사용된다고 하니 지금부터라고 익혀주면 좋을 듯 쉽다.
condition ? exprIfTrue : exprIfFalse
매개변수
exprIfTrue condition이 truthy한 값으로 평가될 경우 실행되는 표현식 (true와 같거나, true로 치환될 수 있는 값)
exprIfFalse condition이 falsy한 값으로 평가될 경우 실행되는 표현식 (false와 같거나, false로 치환될 수 있는 값)
설명
false 이외의 falsy한 표현식에는 null, NaN, 0, 비어있는 문자열 (""), 그리고 undefined가 있다. condition이 이 중 하나일 경우 조건 연산자의 결과값은 exprIfFalse 표현식을 실행한 결과값이다.
참고한 곳 출처 :
조건 (삼항) 연산자 - JavaScript | MDN
조건 (삼항) 연산자는 JavaScript에서 세 개의 피연산자를 받는 유일한 연산자입니다. 앞에서부터 조건문, 물음표(?), 조건문이 참(truthy)일 경우 실행할 표현식, 콜론(:), 조건문이 거짓(falsy)일 경우
developer.mozilla.org