words = [input().strip() for _ in range(5)]
result = ""
for j in range(15):
for i in range(5):
if j < len(words[i]):
result += words[i][j]
print(result)
이 코드는 가로로 입력된 5개의 문자열을 세로 방향으로 읽어, 하나의 문자열로 출력하는 프로그램이다.
1. 리스트 컴프리헨션
words = [input().strip() for _ in range(5)]
리스트 컴프리헨션을 이용하여 5개의 문자열을 리스트로 저장한다.
- input() : 문자열 입력
- strip() : 문자열 앞뒤 공백 제거
- for _ in range(5) : 5번 반복
- _ : 반복 변수이지만 사용하지 않을 때 관례적으로 사용하는 표기법
예시 입력
AABCDD
afzz
09121
a8EWg6
P5h3kx
예시 출력 결과
['AABCDD', 'afzz', '09121', 'a8EWg6', 'P5h3kx']
2. 문자열 변수 생성
result = ""
세로로 읽은 문자를 순서대로 이어 붙일 문자열 변수를 생성한다.
3. 반복문(range)
for j in range(15):
각 단어의 최대 길이가 15이므로, 열을 기준으로 0부터 14까지 반복한다.
4. 중첩 반복문
for i in range(5):
if j < len(words[i]):
result += words[i][j]
각 열마다 위에서 아래 방향으로 문자열을 확인한다.
즉, 세로 방향으로 문자열을 확인한다.
각 단어의 길이는 서로 다를 수 있으므로, 문자가 존재하는 경우에만 읽도록 조건문을 사용해 준다.
조건에 만족하는 문자를 result 문자열 뒤에 계속 이어붙어붙인다.
5. 결과 출력
print(result)
세로 읽기 순서로 이어 붙인 문자열을 출력한다.
'backjeon > Bronze' 카테고리의 다른 글
| Baekjoon(백준) - 2903 (중앙 이동 알고리즘) | Python (0) | 2026.03.17 |
|---|---|
| Baekjoon(백준) - 5086 (배수와 약수) | Python (0) | 2026.03.16 |
| Baekjoon(백준) - 2566 (최댓값) | Python (0) | 2026.03.13 |
| Baekjoon(백준) - 2738 (행열 덧셈) | Python (0) | 2026.03.12 |
| Baekjoon(백준) - 3003 (킹, 퀸, 룩, 비숍, 나이트, 폰) | Python (0) | 2026.03.11 |