✅ for 문과 while 문을 활용한 반복문
✅ 조건문을 사용하여 반복 제어하기
✅ 백준 문제 풀이로 실전 적용 연습
📌 for 문 사용법
✅ 기본적인 for 반복문
N = 5
for i in range(N):
print(i, end=" ")
# 출력: 0 1 2 3 4
✅ 문자열 순회
M = '일이삼사오'
for i in M:
print(i, end=" ")
# 출력: 일 이 삼 사 오
✅ 문자열의 인덱스를 이용한 순회
for i in range(len(M)):
print(M[i], end=" ")
# 출력: 일 이 삼 사 오
✅ 잘못된 사용 예시
for i in M: # 정상 작동
print(i)
for i in range(M): # 오류 발생 (M이 문자열이므로 숫자로 해석 불가)
print(i)
⚠️ range()에는 정수만 사용할 수 있음. 문자열을 넣으면 TypeError 발생
📌 while 문 사용법
✅ 기본적인 while 반복문
N = 5
i = 0
while i < N:
print(i, end=" ")
i += 1
# 출력: 0 1 2 3 4
✅ break를 활용한 반복문 종료
N = 5
i = 0
while True:
if i >= N:
break
print(i, end=" ")
i += 1
# 출력: 0 1 2 3 4
✅ 문자열을 while 문으로 순회
M = '일이삼사오'
i = 0
while i < len(M):
print(M[i], end=" ")
i += 1
# 출력: 일 이 삼 사 오
✅ while 문에서 break 사용
M = '일이삼사오'
i = 0
while True:
if i >= len(M):
break
print(M[i], end=" ")
i += 1
# 출력: 일 이 삼 사 오
📌 for, while 조건문 활용 - 백준 문제 풀이
🔹 백준 2446번 - 별 찍기 9
[문제 링크] 🔗 백준 2446번
📌 문제 설명
• N을 입력받아 역삼각형 + 정삼각형을 별(*)로 출력
📌 코드 구현 (for 문 사용)
N = int(input())
tLine = 2 * N - 1
for i in range(tLine):
if i < N:
space = i
star = tLine - (i * 2)
else:
space = tLine - i - 1
star = (i * 2) - tLine + 2
print(" " * space + "*" * star)
✅ 입출력 예시
입력
5
출력
*********
*******
*****
***
*
***
*****
*******
*********
🔹 백준 2522번 - 별 찍기 12
[문제 링크] 🔗 백준 2522번
📌 문제 설명
• N을 입력받아 좌우 대칭된 삼각형 모양의 별 출력
📌 코드 구현 (while 문 사용)
N = int(input())
tLine = 2 * N - 1
i = 1
while i <= tLine:
if i <= N:
print(" " * (N - i) + "*" * i)
else:
print(" " * (i - N) + "*" * (N - (i - N)))
i += 1
✅ 입출력 예시
입력
3
출력
*
**
***
**
*
✅ 코드 구현 (while + break 사용)
N = int(input())
tLine = 2 * N - 1
i = 1
while True:
if i > tLine:
break
if i <= N:
print(" " * (N - i) + "*" * i)
else:
print(" " * (i - N) + "*" * (N - (i - N)))
i += 1
📌 입출력 예시
입력
4
출력
*
**
***
****
***
**
*
📌 마무리 - 정리
✅ for 문은 범위를 지정하여 반복 수행
✅ while 문은 조건을 만족하는 동안 반복 수행
✅ break를 사용하면 특정 조건에서 반복문을 강제로 종료 가능
✅ 별 찍기 문제를 통해 for, while 문을 활용하는 방법 연습
'코딩라이브러리 > 파이썬' 카테고리의 다른 글
파이썬 람다 함수 lambda (with 백준 1181) (0) | 2024.05.27 |
---|---|
파이썬 정렬 sort, sorted (with 백준 2750, 5597, 1181) (0) | 2024.05.24 |
파이썬 리스트 배열의 얕은 복사(copy), 깊은 복사(deepcopy) 차이점 (0) | 2024.05.22 |
파이썬 리스트 배열 list (with 백준 5597, 10250) (0) | 2024.05.22 |
파이썬 if문 조건 여러개 다중 처리 배열 비교 (with 백준 1330) (0) | 2024.05.21 |