728x90
1.문제
https://www.acmicpc.net/problem/10798
2. 풀이
해결과제 : 5줄의 단어를 세로로 읽어내야한다. 이 과정을 위해서는 단어를 반복하며 첫번째 열부터 마지막열까지 읽어내야하는데 .. 단어의 길이만큼 5번씩 반복을해야한다.
그런데 이때 문제가 발생했다. 길이가 다른 5개의 단어를 받아오기 때문에 오류가 생긴다는 점 !
그 문제를 방지하기 위해 if문을 사용한다.
3. 코드
lines= []
length = [] # 입력받는 단어 각각의 길이를 나타내는 length
ans = ''
for _ in range(5):
line=input()
length.append(len(line))
lines.append(line)
for j in range(max(length)):
for i in range(5):
# if문에서 j가 length[i], 즉 index 범위를 벗어난다면 글자 추가가 일어나지 않는다 !
if j< length[i]:
ans+=lines[i][j]
print(ans)
4. 오답
lines= []
length = []
ans = ''
for _ in range(5):
line=input()
length.append(len(line))
lines.append(line)
for i in range(5):
for j in range(max(length)):
for k in range(5):
ans+=lines[k][j]
풀이에서 말했던 과정이다. index를 벗어나는 오류가 발생한다.
'[알고리즘] > BOJ' 카테고리의 다른 글
[백준/Python] 5533번 : 유니크 (이중리스트에서 중복체크) (0) | 2023.02.24 |
---|---|
[백준/Python] 1181번: 단어정렬 (0) | 2023.02.22 |
[백준/Python] 기초 10제 - Day4 (0) | 2023.02.16 |
[백준/Python] 기초 10제 - Day3 (0) | 2023.02.14 |
[백준/Python] 기초 10제 - Day 2 (0) | 2023.02.10 |