본문 바로가기
코딩/백준

알고리즘 - Python / 백준 - 10798번 : 세로읽기

반응형

10798번: 세로읽기 (acmicpc.net)

 

10798번: 세로읽기

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

www.acmicpc.net

 


풀이

  • 5줄에 걸쳐 문자열을 받고 그 문자열을 세로로 읽은 문자열을 출력하는 문제다.
  • 문제의 포인트는 각 문자열의 길이가 다르기 때문에 빈 공간을 처리하는 방식이다.
  • 직관적으로 빈공간에 모두 별표를 넣어버리고 꽉 찬 사각형을 세로로 읽은 후 나중에 별표를 모두 삭제하는 방식으로 구현하였다.

 

arr = []
for _ in range(5):
    arr.append(input())

check = []
for i in range(5):
    check.append(len(arr[i]))

mx = max(check)
for i in range(5):
    arr[i] += "*" * (mx - len(arr[i]))

ans = ""
for i in range(mx):
    for j in range(5):
        ans += arr[j][i]
print(ans.replace("*",""))

 

 

반응형