[파이썬 알고리즘 7강] 백준 단계별로 풀어보기 3.2 < for문 2>
안녕하세요
스터디에서 같이 공부한 내용을 정리하고자 글을 쓰게 되었습니다~
도움되셨으면 좋겠네요!
본 글에 나와있는 코드들을 직접 쳐보고 실행시키면서
여러가지로 꼬아가며 다양한 실험을 반복하시면
어느새 파이썬이 익숙하고 재밌으실 겁니다~! 화이팅!
참고로 중간 중간 걸려있는 링크들은 글을 읽으시면서 모르는 함수, 문법 등이 나왔을 때 들어가셔서
글에 나온 정도만 이해하실 수 있으면 됩니다. (꼼꼼하게 보실 필요 없어요!)
1. 파이썬 반복문 - for문 (기초)
(2) List 이용
① List의 원소에 직접적으로 접근하는 for문 사용법
저번 시간에는 for - range 문법을 사용하여 리스트의 인덱스에 접근하는 방법을 알아보았는데요.
이번 시간에는 리스트의 인덱스가 아닌 리스트 원소 자체를 for문을 이용해 접근해 보겠습니다!
for - range 문 보다 훨씬 간단하고 명료하기에 이해하기 수월하실 겁니다.
Lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 리스트 선언
for i in Lst : # i 리스트의 원소가 차례대로 들어감
print(i, end = ' ') # 출력
이게 전부입니다! 여기까지 활용하실 수 있으면, for문을 사용하는 기초적인 방법은 마스터 하신 겁니다.
다음 내용은 for문을 효율적으로 쓸 수 있는 방법론에 대한 이야기 이기에, 지금 당장 완벽하게 이해하실 필요는 없습니다.
추가적으로 for문을 중간에 탈출 혹은 생략해야 할 때 가 생기는데요.
이때는 아래와 같이 "continue" / "break" 중 하나를 선택하여 활용하시면 됩니다.
# break 활용법
for i in range(1, 1000) :
print(i, end = ' ')
if i > 100 :
break # for문 전체를 탈출하게 됩니다!
위와 같이 break문은 "특정 조건에서 for문을 탈출할 때" 쓰입니다.
# continue 활용법
for i in range(1, 100) :
if i%2 == 1 : # i가 홀수일 경우 아래 문장을 생략 후 바로 넘어갑니다.
continue
print(i, end = ' ')
위와 같이 continue문은 "특정 조건에서 for문을 다음으로 바로 넘어갈 때" 쓰입니다.
② List의 원소에 직접적으로 접근하는 for문 사용법 -> zip 의 활용
for 문을 돌릴 때, zip 함수를 이용하면 두 리스트의 원소에 대하여 동시 접근이 가능한데요.
lst_1 = [1, 2, 3, 4] # 리스트 1 선언
lst_2 = ['가', '나', '다', '라'] # 리스트 2 선언
for i, j in zip(lst_1, lst_2) : # lst_1, lst_2에 대해 zip합수 활용
print(i, j) # i는 lst_1의 원소 / j는 lst_2의 원소
이를 이용하면, 백준 3003번을 효율적으로 해결할 수 있습니다. (3003번 풀이 : https://study-all-night.tistory.com/65 )
③ List의 원소와 인덱스에 동시에 접근하는 Enumerate 문 사용법
가끔 알고리즘 문제를 해결하시다 보면, 리스트의 인덱스와 원소에 동시 접근 해야할 때가 오실 겁니다.
이때, Enumerate를 활용하시면 이를 효과적으로 해결하실 수 있습니다.
students = ['철수', '영희', '길동', '수영', '짱구'] # 학생 리스트
for idx, i in enumerate(students) : # enumerate를 사용하여 인덱스, 원소 동시 접근
print(idx, i) # idx : 인덱스 / i : 원소
위의 경우 처럼 enumerate(리스트) 를 사용하시면 그 인자로 (인덱스, 원소)를 순서대로 사용하실 수 있습니다!
생각보다 자주 사용하니 코드를 직접 쳐보시고 응용하시면 좋을 것 같네요 :)
여기까지 for문에 대한 대부분의 내용을 다루었구요. 다음 시간에는 while 문에 대해 간략하게 설명하도록 하겠습니다.
'밤샘코딩 > 백준 단계별로 풀어보기 (이론)' 카테고리의 다른 글
[파이썬 알고리즘 8강] 백준 단계별로 풀어보기 3.3 < while문 > (0) | 2022.11.15 |
---|---|
[파이썬 알고리즘 6강] 백준 단계별로 풀어보기 3.1 < for문 1> (0) | 2022.11.15 |
[파이썬 알고리즘 5강] 백준 단계별로 풀어보기 2.2 < 조건문 2> (0) | 2022.11.15 |
[파이썬 알고리즘 4강] 백준 단계별로 풀어보기 2.1 < 조건문 1> (0) | 2022.11.15 |
[파이썬 알고리즘 3강] 백준 단계별로 풀어보기 1.3 < 연산자 > (1) | 2022.11.14 |
댓글
이 글 공유하기
다른 글
-
[파이썬 알고리즘 8강] 백준 단계별로 풀어보기 3.3 < while문 >
[파이썬 알고리즘 8강] 백준 단계별로 풀어보기 3.3 < while문 >
2022.11.15 -
[파이썬 알고리즘 6강] 백준 단계별로 풀어보기 3.1 < for문 1>
[파이썬 알고리즘 6강] 백준 단계별로 풀어보기 3.1 < for문 1>
2022.11.15 -
[파이썬 알고리즘 5강] 백준 단계별로 풀어보기 2.2 < 조건문 2>
[파이썬 알고리즘 5강] 백준 단계별로 풀어보기 2.2 < 조건문 2>
2022.11.15 -
[파이썬 알고리즘 4강] 백준 단계별로 풀어보기 2.1 < 조건문 1>
[파이썬 알고리즘 4강] 백준 단계별로 풀어보기 2.1 < 조건문 1>
2022.11.15