문제
알고리즘
- 반복문을 통해 각 줄을 확인한다.
- 반복문을 통해 줄의 한 단어씩 확인한다.
- 단어가 숫자라면 cnt에 추가하고 숫자가 아닌데 cnt에 숫자가 있다면 cnt를 temp에 추가 후 cnt를 초기화시킨다.
- 모든 단어를 확인 후에도 cnt에 숫자가 있다면 cnt를 temp에 추가한다.
- 각 줄을 확인할 때마다 temp에 담겨있는 모든 수를 res에 추가한다.
- 모든 줄을 확인 후에 res를 오름차순으로 정렬 후 한 숫자씩 출력한다.
코드
import sys
n = int(sys.stdin.readline())
nums = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"]
res = []
# 반복문을 통해 각 줄을 확인
for _ in range(n):
m = list(map(str, sys.stdin.readline().strip("\n")))
temp = []
cnt = ""
# 반복문을 통해 줄의 한단어씩 확인
for i in m:
# 단어가 숫자이면 cnt에 더한다.
if i in nums:
cnt += i
# 단어가 숫자가 아니고 cnt에 숫자가 담겨있으면 temp에 추가한다.
else:
if cnt:
temp.append(int(cnt))
cnt = ""
# 모든 단어를 확인 후에 cnt에 숫자가 담겨있으면 temp에 추가한다.
if cnt:
temp.append(int(cnt))
# 모든 숫자를 res에 더한다.
res += temp
# 오름차순으로 정렬 후 출력
res.sort()
for j in res:
print(j)
github
'CodingTest > Baekjoon' 카테고리의 다른 글
[baekjoon] 백준 1080번(파이썬): 행렬 (0) | 2022.01.25 |
---|---|
[baekjoon] 백준 1074번(파이썬): Z (0) | 2022.01.24 |
[baekjoon] 백준 2608번(파이썬): 로마 숫자 (0) | 2022.01.22 |
[baekjoon] 백준 9536번(파이썬): 여우는 어떻게 울지? (0) | 2022.01.21 |
[baekjoon] 백준 3048번(파이썬): 개미 (0) | 2022.01.20 |