본문 바로가기
코딩 테스트 연습/프로그래머스 level 1

[프로그래머스] lv1. 짝수와 홀수

by 카누가 좋아요 2023. 4. 20.

 

❓ 문제

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

 

✔️ 조건

- num은 int 범위의 정수입니다.

- 0은 짝수입니다.

 

💡 해결하기

기본적으로 num을 2로 나누어 나온 나머지가 0이면 짝수, 1이면 홀수이다.

조건식을 사용하여 해결할 수 있다.

조건식의 결과가 0일 경우 false, 0이 아닌 모든 경우는 true라는 점을 기억하고 가자.

 

* 알아두기

python에서는 음수를 2로 나누어 나온 나머지가 0일 경우 짝수, 1일 경우 홀수이다. 기본적인 경우와 같다.

그런데 js에서는 음수를 2로 나누어 나온 나머지가 -0일 때 짝수, -1일 때 홀수이다. 나머지가 음수인 것이다.

-0과 0은 같은 것으로 취급한다.

 

# python
print(-5 % 2)     # 1
print(-4 % 2)     # 0
// js
console.log(-5 % 2)     // -1
console.log(-4 % 2)     // -0
console.log(-0 === 0)     // true

 

 

 

📌 Python

나머지가 0이 아닌지를 체크하고 참이면 "Odd"을 반환하고, 거짓이면 "Even"를 반환하는 식으로 간단하게 작성할 수 있다.

if와 else를 사용하였다.

 

def solution(num):
    if num % 2:    # 2로 나눈 나머지가 0이 아닌 경우(True) (1인 경우) 
        return "Odd"     # 홀수 (return 되면 함수 끝남.)     
    return "Even"     # 나머지가 0인 경우(False) 짝수

 

 

📌 Javascript

Python과 똑같은 방식으로 해결하되, 삼항 연산자를 이용해 작성하면 깔끔하게 한줄로 작성이 가능하다.

 

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

댓글