Hello Computer Vision

백준 알고리즘 10798번 [세로읽기] 파이썬 본문

백준알고리즘/구현

백준 알고리즘 10798번 [세로읽기] 파이썬

지웅쓰 2023. 4. 15. 23:39

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

 

10798번: 세로읽기

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

www.acmicpc.net

다 풀고 다른 분들 풀이를 봤는데 굉장히 간단하더라.. 일단 나는 굉장히 그리디하게 문제를 풀어보았다.

 

기존에 했던 것처럼 행렬을 만드는 과정에서 생긴 문제는 이번에는 공백없이 입력을 받는 문제였다. 따라서 반복문을 하나 추가로 설정해 새롭게 리스트를 만들고 넣어주었다(for k in inputs 부분). 그리고 각 row마다 15개가 안찬다면 그 공백들은 '!' 를 추가로 넣어서 각 row당 15개의 원소가 꽉꽉차게 만들었다. 그리고 난 후 모든 원소를 줄지어 print하였고 ! 를 만난다면 pass를 넣어주었다. 지저분한 코드지만 그래도 혼자 빠르게 구현했다는 것에 위로아닌 위로를..

row =5
matrix = []
answer = []

for i in range(row):
    inputs = list(input())
    new_list = []
    for k in inputs:

        new_list.append(k)
    matrix.append(new_list)

    if len(matrix[i]) != 15:
        for j in range(15 - len(matrix[i])):
            matrix[i].append('!')

column = 15

for i in range(column):
    for j in range(row):
        answer.append(matrix[j][i])

for word in answer:
    if word == '!':
        pass
    else:
        print(word, end ='')