https://www.acmicpc.net/problem/10798
10798번: 세로읽기
총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’
www.acmicpc.net
- 입력 과 출력

- 해설
myList = [input() for _ in range(5)]
max_len = max(len(s) for s in myList)
for i in range(max_len):
for j in range(5):
if i < len(myList[j]):
print(myList[j][i], end='')
print()
이 문제는 너무 어렵게 생각하여 오래걸렸던 문제이다... 사실 쉽게 생각하면 쉽게 풀었지만
첫 접근은 각 2차원 배열에 0번 인덱스를 슬라이싱 하여 증가하면서 newString에 추가를 할려했으나 첫 테스트코드는 통과하지만 두번째 테스트코드는 각각 문자열의 길이가 달라 에러가 발생하는 문제가 생겼었다.
그래서 다시 생각 해보니 각 각 가장긴 문자열의 길이를 구하고 문자열이 가지고있는 글자를 체크 하여 출력하는 식으로 풀어보니 바로 풀렸다.
- 구체적인 주석코드
myList = [input() for _ in range(5)] # 각 줄의 입력을 문자열로 받음
max_len = max(len(s) for s in myList) # 다섯 개의 문자열 중 가장 긴 문자열의 길이를 구함
for i in range(max_len): # 최대 길이만큼 반복
for j in range(5): # 2차원 5번 반복
if i < len(myList[j]): # 현재 문자열이 i번째 글자를 가지고 있다면
print(myList[j][i], end='') # 해당 글자를 출력함
'Backjoon' 카테고리의 다른 글
| Backjoon - problem 2720 세탁소 사장 동 (0) | 2023.05.02 |
|---|---|
| Backjoon - problem 2745 진법 변환 (0) | 2023.05.02 |
| Backjoon - problem 2738 행렬 덧셈 파이썬 (0) | 2023.04.27 |
| Backjoon - problem 2566 최댓값 파이썬 (0) | 2023.04.27 |
| Backjoon - problem 2563 색종이 파이썬 (0) | 2023.04.27 |