Introduction

본 포스트는 알고리즘 학습에 대한 정리를 재대로 하기 위하여 남기는 것입니다. 더불어 기본 내용은 나동빈 저의 〖이것이 취업을 위한 코딩 테스트다〗라는 교재 및 유튜브 강의의 내용에서 발췌했고, 그 외 추가적인 궁금 사항들을 검색 및 정리해둔 것입니다.

반복문

개념

  • 트정한 소스 코드를 반복적으로 실행하고자 할 때 사용합니다.
  • 파이썬에서는 while 문과 for 문이 있고, 어느 쪽이든 사용에 큰 차이는 없지만, 실제 사용 예시를 보면 for 문 쪽을 활용하는 경우가 더 많습니다.(좀더 간편합니다)

while문 예제

# 1 부터 9까지 모든 정수의 합 구하기(while 문)
i = 1;
result = 0

while i < 9:
	result += i
	i += 1

print(result)

반복문에서의 무한루프

  • 무한 루프(infinite loop)란 반복문의 조건이 무조건 ‘참’이 되어 루프를 벗어나지 못하는 경우를 말합니다.
  • 코딩 테스트 문제 유형에서 이런 구현 유형이 거의 없습니다.
  • 하지만 반복문을 쓰는 과정에서 종종 조건을 정확하게 짜지 않면 문제가 생길 수 있습니다. 따라서 항상 반복문을 작성 뒤 탈출 가능 여부는 확인해야 합니다.

for문

  • for문의 구조는 아래와 같습니다. 특정 변수를 이용하여 in 뒤에 오는 데이터(리스트, 튜플 등)에 포함되어 있는 원소를 첫 번째 인덱스부터 차례댈 하나씩 방문합니다

    for {변수} in {리스트}: 실행할 코드

for문 예제

array = [9, 8, 7, 6, 5] # 배열(리스트)나 튜플도 사용이 가능합니다.

for x in array:
	print(X)

""" 실행결과
9
8
7
6
5
"""

for문 추가로 알 것

range(시작, 끝 + 1)

  • for 문이 연속적인 값 차례로 순회할 때는 range() 함수를 사용합니다.
  • 이 때 기억할 것은 rane(시작값, 끝값 + 1) 이라는 점입니다.
  • 인자를 하나 넣을 시 자동으로 시작값은 0으로 대입됩니다.
# 위와 동일한 설계 반복문만 바꾸어 보았습니다.

result = 0;

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

continue 키워드

  • C를 써보신 분들은 아실 것이지만, 반복문을 의도적으로 탈출하거나, 특정 조건에선 지정한 명령을 수행하지 않도록 하고 싶을 때 사용이 가능한 키워드가 있습니다.
  • 그 중에 continue는 현재 반복에서 코드 실행을 건너 뛰게 만드는 역할을 합니다.
result = 0;

for i in range(1, 10):
	if i % 2 == 0:
		continue # i가 2의 배수일 때는 더하지 않고 넘어갑니다.
	result += i
print(result)

break 키워드

  • continue는 키워드를 사용한 순간의 반복만을 넘어가는 기능이지만, break 는 반복문을 즉시 탈출하는 용도입니다.
result = 0;
i = 0;

while True:
	if result > 30:
		break # 더해지던 result 값이 30을 초과시 반복문을 탈출합니다.
	result += i
	i += 1
print(result)

🧑🏻‍💻 알고리즘 박살내기 시리즈🧑🏻‍💻