백준 #2807 수학숙제
2022. 1. 18. 13:42ㆍ백준 문제풀이
반응형
백준 2870 수학숙제 문제이다.
상근이가 숫자만 찾으면 돼서 별로 어려운 문제는 아니다.
다만 문자열을 처리할 때, 파이썬이 아닌 다른 언어들은 살짝 까다로울 수 있다.
이 문제 해결의 핵심은 문자열에서 숫자를 어떻게 뽑아내는가이다.
나는 이것을 큐(queue)로 해결했는데, 문자일 경우 버리고, 숫자일 경우 임시 문자열에 더해서 배열에 추가하는 방식을 사용했다.
이후 map 을 사용해서 문자열을 숫자로 바꿔주면 자연스럽게 앞자리가 0인 숫자(문자열) 들은 10진수로 변환될 것이다.
(012 -> 12 , 0014 -> 14)
이렇게 해서 비내림차순(오름차순이라고 하면되는데 굳이...)으로 정렬해서 출력하면 끝.
n = int(input())
a = []
temp = ''
for i in range(n):
l = list(input())
while len(l) != 0:
if l[0].isdigit():
temp += l[0]
l.pop(0)
else:
l.pop(0)
if len(temp) :
a.append(temp)
temp = ''
if len(temp) != 0:
a.append(temp)
temp = ''
a = list(map(int, a))
a.sort()
for i in a:
print(i)
반응형
'백준 문제풀이' 카테고리의 다른 글
백준 #3474 교수가 된 현우(Python) (0) | 2022.01.25 |
---|---|
백준 #10709 기상캐스터 (0) | 2022.01.20 |
백준 #4659 비밀번호 발음하기 (0) | 2022.01.17 |
백준 #1992 쿼드트리 (0) | 2022.01.15 |
#1697 백준 숨바꼭질 코드 C++ (0) | 2021.07.20 |