본문 바로가기

알고리즘/백준 문제풀이

백준 - 10789(세로읽기, python)

728x90

https://www.acmicpc.net/problem/10798

 

10798번: 세로읽기

총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’

www.acmicpc.net

문제 접근

  • 문자열을 5번 입력받이 이를 한 글자씩 세로로 읽어 출력하면 되는 문제(공백 없이)
  • 입력받는 문자열의 길이를 모르는 것이 문제 핵심
  • 문자열 최대 길이가 15이므로 문자열 끝에 공백을 추가해 모든 문자열의 길이를 15로 맞춤
  • 이후 출력할때 replace를 활용해 공백을 없앰

 

정답 코드

words = []
#문자열의 길이는 최대 15
for i in range(5):
    word = input()
    #15글자까지 공백 추가
    if len(word) < 15:
        while len(word) <15:
            word += ' '
    words.append(word)

ans = ''

for i in range(15):
    for j in range(5):
        ans += words[j][i]


print(ans.replace(' ', ''))