[이코테] 2. 파이썬 문법 부수기 - (5). 반복문
Algorithm/이코테2021

[이코테] 2. 파이썬 문법 부수기 - (5). 반복문

반응형

 

 

 

반복문

파이썬에서는 while문, 그리고 for문이 있는데, 어떤 것을 사용해도 상관 없음.

  • 다만, 코딩 테스트에서의 실제 사용 예시를 확인해 보면, for문을 사용할 때 코드 길이가 짧아지고 더 간결한 경우가 많음.

 

 

while문

특정한 조건을 만족할 때(특정 조건이 true일 때) while 반복문 실행.

 

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

i = 1
result = 0

# i가 9보다 작거나 같을 때 아래 코드 반복
while i <= 9:
    if i % 2 == 1: #1부터 9까지 홀수 합 구하기
        result += i
    i += 1

print(result)

''' output
25
'''

 

 

반복문에서의 무한 루프

무한 루프(Infinite Loop)란, 끊임 없이 무한정 반복되는 구문을 의미.

  • 코딩 테스트에서 무한 루프를 구현할 일은 없으니 유의해야함.
  • 반복문 작성 뒤에는 항상 탈출할 수 있는지 고려해야함.
x = 10

while x > 5:
    print(x)
    

'''output
10
10
10
10
10
10
10
10
...
(중략)
'''

 

 

for문

for문의 구조는 아래와 같은데, 특정한 변수를 이용하여 'in' 뒤에 오는 다수의 데이터(리스트, 튜플)를 포함 되어 있는 원소를 차례대로 하나씩 방문할 수 있음.

array = [9, 8, 7, 6, 5]

for i in array:
    print(i)

'''output
9
8
7
6
5
'''

 

 

for문에서 연속적인 값을 차례대로 순회할 때는 range()를 주로 사용.

  • 이때 range(시작 값, 끝 값 + 1) 형태로 사용.
  • 인자를 하나만 넣는다면, 자동으로 시작 값은 0이됨.
result = 0

#0부터 30까지 모든 정수의 합 구하기
for i in range(31):
    result += i

print(result)

''' output
465
'''

 

 

파이썬의 continue 키워드

반복문에서 남은 코드의 실행을 건너뛰고, 다음 반복을 진행하고자 할 때 continue를 사용함.

1부터 9까지의 홀수의 합을 구할 때 아래처럼 작성할 수 있음.

result = 0

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

'''output
25
'''

 

 

파이썬의 break 키워드

반복문을 즉시 탈출하고자 할 때 break 사용.

1부터 5까지의 정수를 차례대로 출력하고자 할 때, 아래 처럼 코드 작성 가능.

i = 1

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

'''output
현재 i의 값: 1
현재 i의 값: 2
현재 i의 값: 3
현재 i의 값: 4
현재 i의 값: 5
'''

 

 

파이썬 반복문 예제

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

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

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

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

 

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

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

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

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

 

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

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

''' output
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
3 X 4 = 12
3 X 5 = 15
...
(중략)
...
8 X 6 = 48
8 X 7 = 56
8 X 8 = 64
8 X 9 = 72

9 X 1 = 9
9 X 2 = 18
9 X 3 = 27
9 X 4 = 36
9 X 5 = 45
9 X 6 = 54
9 X 7 = 63
9 X 8 = 72
9 X 9 = 81
'''

 

 

 

 

 

 

이코테 2021 시리즈 씹어먹기 by 조랭이떡

시리즈 목차

더보기
  1. 코딩테스트 출제 경향 및 알고리즘 성능 평가
  2. 파이썬 문법 부수기
    1. 수, 리스트 자료형
    2. 문자열, 튜플, 사전, 집합 자료형
    3. 기본 입출력
    4. 조건문
    5. 반복문
    6. 함수와 람다 표현식
    7. 자주 사용되는 표준 라이브러리
  3. 그리디
    1. 그리디 알고리즘이란?
    2. 거스름돈
    3. 1이 될 때 까지
    4. 곱하기 혹은 더하기
    5. 모험가 길드
  4. 구현
  5. DFS & BFS (추후링크)
  6. 정렬 알고리즘 (추후링크)
  7. 이진 탐색 (추후링크)
  8. 다이나믹 프로그래밍 (추후링크)
  9. 최단 경로 알고리즘 (추후링크)
  10. 기타 그래프 이론 (추후링크)
  11. 코딩 테스트에서 자주 출제되는 기타 알고리즘 (추후링크)
  12. 개발형 코딩 테스트 (추후링크)

 

 

 

 

 

반응형