본문 바로가기

코딩 테스트/백준

[Python] 백준 10798 세로 읽기

 

문제분석

  • 총 5줄의 단어가 주어지고 
  • 각 줄의 글자수는 다를 수 있다.
  • 글자가 없으면 다음 글자를 읽는다.

 

코드 설계

 

  • 길이가 다른 문자열에 대해서는 어떻게 처리할 것인가
    • 짧은거를 길이에 맞게 다 채운다?
  • 예외 처리 - 에러나면 pass

 

정답 코드

import sys
input = sys.stdin.readline

board = [input().strip() for i in range(5)]

max_length = 0 # 입력받은 문자 중 길이가 가장 긴 문자 찾기
for word in board :
    max_length = max(max_length, len(word))

for j in range(max_length):
    for i in range(5) :
        try :
            print(board[i][j], end='')
        except :
            pass

 

다른 사람 코드 1

words = [input() for i in range(5)]

for j in range(15):
    for i in range(5):
        if j < len(words[i]):
            print(words[i][j], end='')

 

다른 사람 코드 2

words = []
length = []
for _ in range(5):
    word = input()
    words.append(word)
    length.append(len(word))

rst = ''
for i in range(max(length)):
    for j in range(5):
        if i < length[j]:
            rst += words[j][i]

print(rst)