[이것이 코딩 테스트다 with 파이썬] Part 04. 부록 - APPENDIX A 코딩 테스트를 위한 파이썬 문법(3)

박미진·2022년 7월 31일
0

코딩 테스트

목록 보기
3/9

03. 반복문

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

1. while문

  • 조건이 참일 때에 한해서, 반복적으로 코드가 수행됨
예) 1부터 9까지 각 정수의 합을 계산하는 코드
<입력>
i = 1
result = 0

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

<출력>
45

※ 코드에서 ①은 i가 9보다 작거나 같을 때 ②블록(반복문 내부의 코드)을 반복해서 실행하라는 의미
=> i가 9보다 커지기 전까지는 ②가 계속 반복된다는 의미
  • 조건문 설정에 따라 해당 블록을 영원히 반복할 수도 있는데, 이를 무한루프라고 함
    ☑ 1부터 9까지의 수 중에서 홀수만 더하고자 할 때는 어떻게 할 수 있을까?
    반복문 안에서 i가 홀수일 때만 result변수에 값을 더하면 됨
i = 1
result = 0

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

<출력>
25

2. for문

  • 리스트를 사용하는 대표적인 for문의 구조
for 변수 in 리스트:
	실행할 소스코드
  • in 뒤에 오는 데이터에 포함되어 있는 모든 원소를 첫번째 인덱스부터 차례대로 하나씩 방문함
  • in 뒤에 오는 데이터로는 리스트, 튜플, 문자열 등이 사용될 수 있음
  • for문에서 수를 차례대로 나열할 때는 range()를 주로 씀
    => range(시작 값, 끝 값 + 1)형태로 쓰임
예) 1부터 9까지의 모든 수를 담고자 함

result = 0

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

<출력>
45

-range()의 값으로 하나의 값만을 넣으면 자동으로 시작값은 0이 됨
=> 주로 리스트나 튜플 데이터의 모든 원소를 첫번째 인덱스부터 방문해야 할 때 이 방법을 사용(리스트의 인덱스는 0부터 출발하기 때문)

  • 반복문에서 continue를 만나면 프로그램의 흐름은 반복문의 처음으로 돌아감
  • 반복문은 얼마든지 중첩해서 사용할 수 있음
  • 2중 반복문이 사용되어야 하는 대표적인 예시 : 구구단
  • 중첩된 반복문은 코딩테스트에서도 "플로이드 워셜 알고리즘", "다이나믹 프로그래밍" 등의 알고리즘 문제에서 매우 많이 사용됨
<구구단 2단부터 9단까지의 모든 결과 출력하는 소스코드>
for i in range(2, 10):
	for j in range(1, 10):
    	 print(i, "X", j, "=", i * j)
print()

<reference(참조)>
나동빈(2020).<이것이 취업을 위한 코딩 테스트다 with 파이썬>.서울: 한빛미디어(주)

0개의 댓글