-
6581. [Python]HTMLPython_알고리즘/Gold V 2024. 8. 26. 19:29
1. 문제
https://www.acmicpc.net/problem/6581
2. 접근 방법
- 시간 제한: 1초
- 메모리 제한: 128MB
- 구현
- 파싱
3. 파이썬 코드
import sys ans = [] # input으로 들어오는 대로 받기 for words in sys.stdin: # 공백 제거하고 구분하여 리스트에 추가 for word in words.strip().split(): ans.append(word) # 정답 출력할 변수 answer = "" # 리스트 안을 순회 for an in ans: # 개행 태그인 경우 이때까지 저장한 문자 출력 후 초기화 if an == "<br>": print(answer) answer = "" continue # --- 구분선 태그인 경우 if an == "<hr>": # 저장한 문자가 있으면 출력 후 - 80 줄 추가 if answer: print(answer) print("-"*80) answer = "" continue # 저장한 문자 + 들어온 문자 + 공백의 길이가 80줄이 넘는 경우 저장한 문자 출력 후 새로운 문자로 초기화 if len(answer) + len(an) + 1 > 80: print(answer) answer = an else: # 저장된 문자가 있는경우 공백 추가 후 문자 추가 if answer: answer += " " answer += an # 저장된 문자가 남아있는 경우 출력 if answer: print(answer)
4. 문제를 풀고난 후 생각
- 문제의 난이도 자체는 높은편이 아니지만 인풋으로 들어오는 데이터 파싱이 좀 힘들었던 문제였다.
- 중간중간 개행문자들도 있고 마지막 문자가 개행으로 들어온다 하여서 여러 조건을 추가해가며 접근을 했던 문제이다.
- 평소 readline을 주로 사용했기 때문에 끝이 정해지지 않은 인풋처리 부분에 대해서 다시 생각해볼 수 있던 문제였다.
5. 문제를 푸는데 도움이 되는 지식
- 구현
- 파싱
'Python_알고리즘 > Gold V' 카테고리의 다른 글
2294. [Python]동전 2 (1) 2024.09.05 2293. [Python]동전 1 (0) 2024.09.05 2866. [Python]문자열 잘라내기 (0) 2024.08.19 2866. [Python]문자열 잘라내기 (0) 2024.08.13 14891. [Python]톱니바퀴 (0) 2024.08.07