이 글에서는 주어진 문제를 해결하는 방법과 접근 방식에 대해 알아보겠습니다.
문제 정의
하나의 범위가 주어졌을 때, 해당 범위 안의 모든 홀수를 출력해야 합니다.
접근 방식: 브루트 포스(Brute-Force)
가장 기본적인 방법은 다음과 같습니다.
먼저 범위 기반 for 루프(range)를 사용하여 입력 구간 내의 모든 정수를 하나씩 순회합니다.
그다음 홀수 여부를 판별하는 조건문을 적용하여 짝수를 걸러냅니다.
이 방법의 시간 복잡도는 O(n)이며, 여기에 상수 시간의 비교 연산이 추가됩니다.
코드 구현
start, end = 10, 29
# 반복 수행
for num in range(start, end + 1):
# 조건 검사
if num % 2 != 0:
print(num, end = " ")실행 결과
11 13 15 17 19 21 23 25 27 29
동작 원리
range(start, end + 1)은 시작값부터 끝값까지의 정수를 생성합니다. 끝값을 포함시키기 위해 end + 1을 사용한다는 점에 유의하세요.
각 숫자를 2로 나눈 나머지(% 연산자)가 0이 아니면 그 숫자는 홀수입니다. 이 조건을 만족하는 숫자만 화면에 출력됩니다.
모든 변수와 함수는 아래 그림과 같이 전역 프레임(global frame)에 선언됩니다.

마무리
이 글에서는 주어진 범위 내의 홀수를 출력하는 방법에 대해 알아보았습니다. 나머지 연산자(%)를 활용한 간단한 조건 검사만으로 효율적으로 홀수를 필터링할 수 있습니다. 이러한 패턴은 짝수 출력, 배수 찾기 등 다양한 숫자 관련 문제에도 응용할 수 있으니 꼭 기억해 두세요.