[Python][백준 10798] 세로읽기

Date:     Updated:

카테고리:

태그:

📝 세로읽기 문제 풀이

백준 10798번 세로읽기 문제의 파이썬 풀이

📝 문제 설명

다섯 개의 단어가 각각 한 줄에 하나씩 주어진다. 각 단어는 영어 대소문자로 이루어져 있으며, 최대 15글자로 구성되어 있다. 세로로 읽었을 때 나타나는 단어를 구하는 프로그램을 작성하시오.

💡 풀이

이 문제는 주어진 단어들을 세로로 읽어야 한다. 각 단어의 길이가 다를 수 있으므로, 열을 기준으로 순회하면서 각 행의 길이를 체크해야 한다.

🔍 코드 설명

  1. 5개의 단어를 입력받아 리스트에 저장한다.
  2. 가능한 최대 길이(15)만큼 열을 순회한다.
  3. 각 열에 대해 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])

Python Coding Test 카테고리 내 다른 글 보러가기