728x90
📍 [ 문제 8 ] 백준 10798 - 세로 읽기
💡 나의 풀이
첫번째 조건은 잘 풀었는데 두번째 조건은 고민하는 시간이 오래 걸렸다.
주어진 리스트에서 세로로 읽으려면 2중 for문이 선언되어야한다.
만약, 입력이 빈칸없이 연속으로 주어진다면 단순하게 구할 수 있지만 입력에 빈칸이 존재한다면 조건문을 붙여줘야한다.
해결방법의 흐름은 크게 2가지가 있다.
먼저, 입력이 n줄
로 한정되어있다면 반복문을 n
으로 변경하면 되지만, 입력이 몇 줄이라고 주어지지 않을때는 max(len)
을 구해야한다.
그리고, max(len)
의 i가 j보다 크거나 같다면 continue
를 사용해 상위 코드로 올라가서 건너뛰고 그렇지 않다면 값을 출력해주면 된다.
'''
ABCDE
abcde
01234
FGHIJ
fghij
AABCDD
afzz
09121
a8EWg6
P5h3kx
'''
s = [input() for i in range(5)]
max_length = 0
if len(s) > max_length:
max_length = len(s)
# 방법 1
for i in range(max_length):
for j in range(len(s)):
if i >= len(s[j]):
continue
else:
print(s[j][i], end='')
# 방법 2
for i in range(max_length):
for j in s:
if i >= len(j):
print(j[i], end='')
👉🏽 Aa0FfBb1GgCc2HhDd3IiEe4Jj
👉🏽 Aa0aPAf985Bz1EhCz2W3D1gk
반응형
'Algorithm > 백준(BOJ)' 카테고리의 다른 글
[python] 백준 2920 - 음계 (0) | 2021.04.05 |
---|---|
[python] 백준 9012 - 괄호 (0) | 2021.04.01 |
[python] 백준 14425 - 문자열 집합 (0) | 2021.04.01 |
[python] 백준 1764 - 듣보잡 (0) | 2021.04.01 |
[python] 백준 11656 - 접미사 배열 (0) | 2021.04.01 |
댓글