Study/Python

[이것이 코딩 테스트다 with 파이썬] | 코딩 테스트를 위한 파이썬 문법 | 반복문

Jio_ni 2025. 5. 22. 21:03

반복문

  • 특정한 소스코드를 반복적으로 실행하고자 할 때 사용하는 문법이다.
  • 파이썬에서는 while문과 for문이 있는데, 어떤 것을 사용해도 상관 없다.
    • 다만 코딩 테스트에서의 실제 사용 예시를 확인해보면, for문이 더 간결한 경우가 많다.

반복문: while문

1부터 9까지의 모든 정수의 합 구하기 예제 (while문)

i = 1
result = 0

# i가 9보다 작거나 같을 때 아래 코드를 반복적으로 실행
while i <= 9:
    result += i
    i += 1

print(result) # 45

1부터 9까지 홀수의 합 구하기 예제 (while문)

i = 1
result = 0

# i가 9보다 작거나 같을 때 아래 코드를 반복적으로 실행
while i <= 9:
    if i % 2 == 1:
        result += i
    i += 1

print(result) # 25

반복문에서의 무한 루프

  • 무한 루프(Infinite Loop)란 끊임없이 반복되는 반복 구문을 의미한다.
    • 코딩 테스트에서 무한 루프를 구현할 일은 거의 없으니 유의해야 한다.
    • 반복문을 작성한 뒤에는 항상 반복문을 탈출할 수 있는지 확인한다.
x = 10

while x > 5:
    print(x)

# 10
# 10
# 10
# 10
# 10
# ...
# (중략)
# ```

반복문: for문

  • 반복문으로 for문을 이용할 수도 있다.
  • for문의 구조는 다음과 같은데, 특정한 변수를 이용하여 'in' 뒤에 오는 데이터(리스트, 튜플 등)에 포함 되어 있는 원소를 첫 번째 인덱스부터 차례대로 하나씩 방문한다.
for 변수 in 리스트:
    실행할 소스코드
array = [9, 8, 7, 6, 5]

for x in array:
    print(x)

# 9
# 8
# 7
# 6
# 5
  • for문에서 연속적인 값을 차례대로 순회할 때는 range()를 주로 사용한다.
    • 이때 range(시작 값, 끝 값 + 1) 형태로 사용한다.
    • 인자를 하나만 넣으면 자동으로 시작 값은 0이 된다.
result = 0

# i는 1부터 9까지의 모든 값을 순회
for i in range(1, 10):
    result += i

print(result) # 45

1부터 30까지 모든 정수의 합 구하기 예제 (for문)

result = 0

for i in range(1, 31):
    result += i

print(result) # 465

파이썬의 continue 키워드

  • 반복문에서 남은 코드의 실행을 건너뛰고, 다음 반복을 진행하고자 할 때 continue를 사용한다.
  • 1부터 9까지의 홀수의 합을 구할 때 다음과 같이 작성할 수 있다.
result = 0

for i in range(1, 10):
    if i % 2 == 1:
        result += i

print(result) # 25

파이썬의 break 키워드

  • 반복문을 즉시 탈출하고자 할 때 break를 사용한다.
  • 1부터 5까지의 정수를 차례대로 출력하고자 할 때 다음과 같이 작성할 수 있다.
i = 1

while True:
    print("현재 i의 값: ", i)
    if i == 5:
        break
    i += 1

# 현재 i의 값: 1
# 현재 i의 값: 2
# 현재 i의 값: 3
# 현재 i의 값: 4
# 현재 i의 값: 5

학생들의 합격 여부 판단 예제 1) 점수가 80점만 넘으면 합격

scores = [90, 85, 77, 65, 97]

for i in range(5):
    if scores[i] >= 80:
        print(i + 1, "번 학생은 합격입니다.")

# 1번 학생은 합격입니다.
# 2번 학생은 합격입니다.
# 5번 학생은 합격입니다.

학생들의 합격 여부 판단 예제 2) 특정 번호의 학생은 제외하기

scores = [90, 85, 77, 65, 97]
cheating_student_list = {2, 4}

for i in range(5):
    if i + 1 in cheating_student_list:
        continue
    if scores[i] >= 80:
        print(i + 1, "번 학생은 합격입니다.")

# 1번 학생은 합격입니다.
# 5번 학생은 합격입니다.

중첩된 반복문: 구구단 예제

for i in range(2, 10):
    for j in range(1, 10):
        print(i, "X", j, "=", i * j)
    print()

# 2 X 1 = 2
# 2 X 2 = 4
# 2 X 3 = 6
# 2 X 4 = 8
# 2 X 5 = 10
# 2 X 6 = 12
# 2 X 7 = 14
# 2 X 8 = 16
# 2 X 9 = 18


# 3 X 1 = 3
# 3 X 2 = 6
# 3 X 3 = 9
# ...
# (중략)

'이것이 취업을 위한 코딩 테스트다 with 파이썬'의 교재를 보고 작성한 내용입니다.

 

반응형