[백준] 세로 읽기

Hyunwoo Park·2021년 4월 9일
0

알고리즘

목록 보기
16/19

브론즈 1로 체크되어 있긴 하지만 상당히 괜찮은 문제라고 생각한다.

말 그대로 문자열을 세로로, 즉 같은 열(세로줄)의 문자열을 출력해주면 된다.

문제를 풀다 보면 두 가지 어려움에 부딪히게 되는데, 첫째로는 문자열이 이어지지 않는 부분에 대한 예외 처리이다. 이 부분은 try except문으로 예외 처리를 해서 에러가 생기게 되면 pass로 넘어가게 하였다.

두 번째로는 입출력 예시2와 같은 경우인데, 처음에 입력받은 문자열보다 나중에 입력받은 문자열이 긴 상태에서 for문에서의 범위 설정을 제대로 해 주지 못하면 나중에 입력받은 긴 문자열이 출력되지 않는 경우가 생긴다. 그래서 입력받을 때 마다 max_len이라는 변수를 만들어 가장 긴 문자열의 길이로 업데이트 해 주었다.

말이 조금 어려울 수 있는데, 쉽게 설명하면 바깥쪽 for문의 범위를 0부터 가장 긴 문자열의 길이로 두는 행위이다.

max_len = 0

for i in range(5):
    a = input()
    arr.append(a)
    max_len = max(max_len, len(a))
    
for i in range(max_len):
    for j in range(5):
        
        try:
            print(arr[j][i],end='')
            
        except:
            pass
profile
만나서 반갑습니다.

0개의 댓글