https://www.acmicpc.net/problem/10798
10798번: 세로읽기
총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’
www.acmicpc.net
문제 풀이
- 글자수가 15자까지므로 빈 리스트 15개를 리스트에 담아둔다
- for문을 돌면서 첫번째 글자, 두번째 글자 ,,, 를 0번째 리스트, 1번째 리스트에 append한다
- result는 arr를 돌면서 각 list를 join한 글자수를 붙여준다
arr = [[] for _ in range(15)]
for _ in range(5):
string = input()
for i in range(len(string)):
arr[i].append(string[i])
result = ''
for i in range(len(arr)):
result += ''.join(arr[i])
print(result)
다른 사람 풀이
text = []
for i in range(5):
text.append(input())
for i in range(max(len(e) for e in text)): # text중 가장 긴 문자열만큼
for j in range(5):
if i < len(text[j]): # 글자수체크(i) 보다 text[j] 길이가 짧으면 text[j]의 i번째가 없다는 뜻이므로
# 건너뛰로 i보다 클때만 출력한다
print(text[j][i], end='')