[Python][백준 10798] 세로읽기
카테고리: Python Coding Test
📝 세로읽기 문제 풀이
백준 10798번 세로읽기 문제의 파이썬 풀이
📝 문제 설명
다섯 개의 단어가 각각 한 줄에 하나씩 주어진다. 각 단어는 영어 대소문자로 이루어져 있으며, 최대 15글자로 구성되어 있다. 세로로 읽었을 때 나타나는 단어를 구하는 프로그램을 작성하시오.
💡 풀이
이 문제는 주어진 단어들을 세로로 읽어야 한다. 각 단어의 길이가 다를 수 있으므로, 열을 기준으로 순회하면서 각 행의 길이를 체크해야 한다.
🔍 코드 설명
- 5개의 단어를 입력받아 리스트에 저장한다.
- 가능한 최대 길이(15)만큼 열을 순회한다.
- 각 열에 대해 5개의 행을 순회하면서:
- 현재 단어의 길이가 현재 열 인덱스보다 길면 해당 문자를 출력한다.
- 그렇지 않으면 건너뛴다.
✨ 참고
sys.stdin.readline().strip()
을 사용하여 개행문자를 제거한다.- 리스트 컴프리헨션으로 입력을 간단히 처리한다.
sys.stdout.write()
를 사용하여 출력 속도를 개선한다.
🎯 주의사항
- 각 단어의 길이가 다를 수 있다.
- 열 순회 시 각 단어의 길이를 체크해야 한다.
- 최대 15글자까지 가능하다.
📝 코드
import sys
words = [sys.stdin.readline().strip() for _ in range(5)]
for col in range(15):
for row in range(5):
if col < len(words[row]):
sys.stdout.write(words[row][col])