본문 바로가기
Developer/Algorithm

Programmers 프로그래머스 코딩테스트 연습 - 짝수와 홀수 (JavaScript)

by roqkfrlfhr 2020. 9. 5.

Programmers 프로그래머스 코딩테스트 연습 - 짝수와 홀수 (JavaScript)

 

Programmers의 코딩테스트 연습문제 Level 1의 짝수와 홀수 문제를 JavaScript를 사용하여 문제를 풀어보도록 하겠습니다.

 

문제 설명

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

 

제한 조건

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

 

입출력 예

num return
3 "Odd"
4 "Even"

 

 

작성한 답

solution.js

function solution(num) {
    return num % 2 ? "Odd" : "Even";
}

 

설명

정수 num이 짝수일 경우 Even을 반환하고 홀수인 경우 Odd를 반환하는 함수, solution을 완성시키는 문제입니다.

제가 생각하기에 Programmers 문제 중에 가장 쉬운 문제가 아닐까 싶습니다.

설명을 드리기도 살짝 민망한 정도이지만 설명을 드려보도록 하겠습니다.

짝수와 홀수를 판단할때 다들 2로 나눈 나머지가 0이면 짝수, 1이면 홀수로 판단하는 방법을 많이 사용하실 겁니다.

그 방법 그대로 입니다.

정수 num % 2 를 사용해 num을 2로 나눈 나머지 값을 구하고

1이면 "Odd", 0이면 "Even"을 return 시켜준 것입니다.

 

여기서 혹시, 왜,

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

위와 같이 num % 2 == 1 로 boolean 값인 true 나 false 값을 받지 않고,

숫자를 반환하는 num % 2 로만 사용이 가능 한 것이냐 라는 분들이 계실까봐 혹시나 싶어 말씀을 드리면,

JavaScript에서는 0을 에서는 false 로도 사용할 수 있습니다.

0을 제외한 다른 숫자들은 true 로도 사용할 수 있습니다.

그렇기 때문에 num 을 2로 나눈 나머지 값이 0이면 false와 같고 짝수에 해당하기 때문에 삼항연산자의 false 일때 해당하는 : 뒷부분에 "Even" 을 넣어 return 하면 되고,

num 을 2로 나눈 나머지 값이 0이 아닐시에는 true와 같고 홀수에 삼항연산자의 true 일때 해당하는 : 앞부분에 "Odd"를 넣어 return 해도 되는 것 입니다.

결론은 JavaScript에서 0은 false로도 이용이 가능하고 그 외의 수는 true로 사용할 수 있다는 것만 기억해주시면 많은 도움이 되리라 생각됩니다.

 

 

제가 틀린 부분이 있다거나 더 좋은 방법을 아시는 분이 계시다면 댓글로 공유 부탁드립니다!

 

 

도움이 되셨다면 공감, 댓글 부탁드립니다!

궁금하신 점이나 요청 사항은 언제든지 말씀 해주세요!

 

감사합니다.


댓글