728x90
https://programmers.co.kr/learn/courses/30/lessons/12937
문제
정수 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
'알고리즘 스터디 > 프로그래머스 스킬체크 레벨 1(끝)' 카테고리의 다른 글
[프로그래머스 스킬체크 레벨 1] 수박수박수박수박수박수? 문제 풀이 및 설명 - 자바스크립트[JavaScript] (0) | 2021.07.13 |
---|---|
[프로그래머스 스킬체크 레벨 1] 제일 작은 수 제거하기 문제 풀이 및 설명 - 자바스크립트[JAVASCRIPT] (0) | 2021.07.12 |
[프로그래머스 스킬체크 레벨 1] 직사각형 별찍기 문제 풀이 및 설명 - 자바스크립트[JAVASCRIPT] (0) | 2021.07.12 |
[프로그래머스 스킬체크 레벨 1] 가운데 글자 가져오기 문제 풀이 및 설명 - 자바스크립트[JAVASCRIPT] (0) | 2021.07.12 |
[프로그래머스 스킬체크 레벨 1] 같은 숫자는 싫어 문제 풀이 및 설명 - 자바스크립트[JAVASCRIPT] (0) | 2021.07.12 |
댓글