BOJ/Python

백준 10798번 세로읽기 파이썬

띵지니어 2022. 2. 23. 20:31
반응형

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

 

10798번: 세로읽기

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

www.acmicpc.net

 

답안

graph = []
Max = 0
answer = ''
for _ in range(5):
    graph.append(list(input()))
    
for i in range(5):
    if Max < len(graph[i]):
        Max = len(graph[i])

for i in range(Max):
    for j in range(5):
        try:
            answer += graph[j][i]
        except IndexError:
            pass
            
print(answer)

 

공백 문자를 접했을 때 어떻게 처리해야 되는지만 알면 해결할 수 있는 문제였다.

나는 주어진 문자열 중에 가장 긴 리스트를 기준으로 삼고

for 문을 세로로 돌려 index 범위가 넘어가면 무시하는 코드를 짰다.

원래 주어진 리스트에 인덱스 범위가 넘어가는 경우 IndexError: list index out of range 라는 경고 문구와 함께 프로그램이 종료된다.

반응형
목차(index)