[문제]
https://www.acmicpc.net/problem/10798
[아이디어]
# 2차원 배열 선언하고 입력받기
# 사이즈는 1<= n <= 15
# 배열을 세로로 읽기
* 놓친 아이디어 : 행이 5개인건 고정(입력을 5줄로 받음)
[풀이]
words = [input() for i in range(5)]
for j in range(15):
for i in range(5):
if j < len(words[i]):
print(words[i][j], end='')
<코드 설명>
- 다섯 개의 단어를 입력받는다. *리스트 컴프리헨션으로 리스트를 간결하게 만든다.
- for j in range(15): 세로로 읽기 위해 각 열의 인덱스 'j'를 0부터 14까지 반복한다.
- for i in range(5): 다섯 개의 단어를 순회하며 각 단어의 j번째 글자를 읽는다.
- if j < len(words[i]): 현재 단어 'words[i]'의 길이가 'j'보다 클 때만 글자를 읽도록 한다. = 단어의 길이보다 큰 인덱스에 접근하지 않도록 방지
- end=''는 줄바꿈 없이 이어서 출력하게 함
- 예외 처리가 키포인트(각 행(단어)별로 0~15까지 가변 길이를 갖고 있음)
- 예외 처리를 힘들게 할 필요 없이 행의 최대 길이(len(words[i]))가 현 iteration횟수보다 낮으면 출력하는 방식으로 진행
'백준' 카테고리의 다른 글
[BaekJoon/Python3] 약수, 배수와 소수 (0) | 2024.07.24 |
---|---|
일반수학1 (0) | 2024.07.24 |
[BaekJoon/Python3] 백준 2566번 : 최댓값 (0) | 2024.07.24 |
[BaekJoon/Python3] 백준 25206번 : 너의 평점은 (0) | 2024.07.23 |
[BaekJoon/Python3] 백준 1316번 : 그룹 단어 체커 (0) | 2024.07.23 |