본문 바로가기
알고리즘 스터디/프로그래머스 스킬체크 레벨 1(끝)

[프로그래머스 스킬체크 레벨 1] 짝수와 홀수 문제 풀이 및 설명 - 자바스크립트[JAVASCRIPT]

by 레일라오리덕 2021. 7. 12.
728x90

https://programmers.co.kr/learn/courses/30/lessons/12937

 

코딩테스트 연습 - 짝수와 홀수

정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 num return 3 "Odd" 4 "Even"

programmers.co.kr

 

문제

 

정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요.

 

제한 사항

 

  • num은 int 범위의 정수입니다.
  • 0은 짝수입니다.

결괏값 예시

 

num return
3 "Odd"
4 "Even"

 

기본 제공 틀

 

function solution(num) {
    var answer = '';
    return answer;
}

 

풀이 [JavaScript]

 

728x90

 

처음에는 num % 2 ===  1 ? 'Odd' : 'Even' 으로 로직을 구현했었다.

코드실행을 해보았을 때, 문제가 없어서 제출 후 채점하기를 했는데, 두가지 테스트 결과에서 실패가 나왔다.

뭐가 문제인지 생각해보고 디버깅 해 보았는데, num은 int 범위의 정수이기 때문에, -3, -4와 같은 음수의 정수값들이 들어올 수 있다는 것을 생각하게 되었다.

 

그러므로, -3인 경우엔 나머지 값이 -1이 되기 때문에 Odd값이 나오지 않게 되는 것이다.

-4인 경우엔 -4 % 2 값이 -0이 나오게 되고, -0은 0과 같으므로 ( 아래 콘솔 창 참고) 나머지 값이 0 인경우에 Even값으로 설정하게 되는 경우 정확한 로직 결과가 나오게 되는 것이다.

 

 

function solution(num) {
    return (num % 2 === 0 ? 'Even': 'Odd');
}

 

채점 결과 [JavaScript]

 

728x90

댓글