문제 보기 · Level 1 · 연습문제 · 정답률 88% · 푼 사람 97,069명 (2026-09-30 기준)1

문제

정수 num이 짝수면 "Even", 홀수면 "Odd"를 돌려준다.

  • num은 int 범위의 정수다. 음수일 수도 있다. 0은 짝수로 친다.

풀이

막히면 한 단계씩 펼친다.

필요한 개념

파이썬 기본 문법의 나머지 %와 조건문 if만 있으면 된다.

1단계 · 작은 예로 손으로 풀기

짝수는 2로 나누어떨어지는 수, 즉 2로 나눈 나머지가 0인 수다.

  • 4 ÷ 2 = 몫 2, 나머지 0 → 짝수
  • 7 ÷ 2 = 몫 3, 나머지 1 → 홀수
  • 0 ÷ 2 = 몫 0, 나머지 0 → 짝수
2단계 · 가장 단순한 방법과 그 속도

나머지를 한 번 계산하면 끝난다. 입력이 수 하나뿐이라 속도는 걱정할 게 없다.

3단계 · 핵심 아이디어

“짝수인가?”를 “2로 나눈 나머지가 0인가?”로 바꿔 묻는다. 파이썬에서 나머지는 num % 2다.

음수도 같은 방법이 통한다. 파이썬은 양수로 나누면 나머지를 늘 0 이상으로 준다. 그래서 -3 % 2는 1, -4 % 2는 0이다.

4단계 · 코드 흐름
  1. num % 2를 계산한다.
  2. 0이면 "Even"을 돌려준다.
  3. 아니면 "Odd"를 돌려준다.
5단계 · 파이썬 코드
def solution(num):
    if num % 2 == 0:
        return "Even"
    return "Odd"
  • num % 2 == 0: 나머지가 0인지 비교한다. 맞으면 True다.
  • else가 없어도 된다. 짝수면 위의 return에서 함수가 이미 끝나서, 마지막 줄까지 오는 것은 홀수뿐이다.

한 줄로도 쓸 수 있다: return "Even" if num % 2 == 0 else "Odd". “A if 조건 else B”는 조건이 맞으면 A, 아니면 B다.

6단계 · 실행 추적
num num % 2 돌려주는 값
3 1 “Odd”
4 0 “Even”
0 0 “Even”
−3 1 “Odd”
7단계 · 복잡도와 흔한 실수

계산 한 번이라 \(O(1)\)이다.

  • 홀수를 num % 2 == 1로 판정해도 파이썬에서는 맞다. 하지만 C·자바에서는 -3 % 2가 −1이라 틀린다. == 0으로 짝수를 먼저 가려내는 습관이 어느 언어에서나 안전하다.
  • "even"처럼 대소문자를 다르게 쓰면 틀린다. 돌려줄 글자는 문제에 적힌 그대로 쓴다.
검증: 문제의 예시 2개를 통과했고, −1,000~1,000의 모든 정수에서 결과가 맞았다 — 01_pg12937_p1.py
  1. 프로그래머스 스쿨, “짝수와 홀수” (https://school.programmers.co.kr/learn/courses/30/lessons/12937), 2026-09-30 조회. ↩