본문 바로가기
코딩 테스트/Python_백준

[백준/Python] 10798번 세로읽기

by 모두의 케빈 2023. 4. 3.

■ 10798번 세로 읽기

 

출처: 백준 10798번 세로 읽기

 

■ 코드 풀이

 

아이디어는 다음과 같습니다. 입력을 5번 받고, 입력받는 단어의 최대 개수는 15개라고 문제에서 제시했으니, 높이가 5이고 길이가 15인 2차원 list를 만듭니다. 처음 default 값은 별표(*)로 설정합니다.

그리고 enumerate 함수를 활용하여 입력받은 단어를 2차원 배열에 하나씩 넣어줍니다.

이후 출력을 할 때는 세로로 읽어야 하므로 column index부터 for loop를 돌립니다. 단어가 없다면 2차원 list 값에는 별표(*)가 있을 테니, 값이 별표(*)라면 출력을 skip 하는 조건문을 넣어줍니다.

word_array = [['*' for j in range(15)]for i in range(5)]

for i in range(5):
    word_list = input()

    for idx, word in enumerate(word_list):
        word_array[i][idx] = word

for j in range(15):
    for i in range(5):
        if word_array[i][j] == '*':
            continue
        print(word_array[i][j], end = "")

댓글