문제 보기 · 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단계 · 코드 흐름
num % 2를 계산한다.- 0이면
"Even"을 돌려준다. - 아니면
"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
-
프로그래머스 스쿨, “짝수와 홀수” (https://school.programmers.co.kr/learn/courses/30/lessons/12937), 2026-09-30 조회. ↩