[python] 백준 2870번 수학숙제알고리즘/백준2022. 1. 27. 23:56
Table of Contents
입력
첫 번째 줄 테스트 케이스 수
두 번째 줄부터 문자열
출력
문자열에 대해서 숫자만 뽑아서 비 내림차순으로 출력(비 내림차순에 대해서는 문제 내용에 쓰여있다)
문제풀이
테스트 케이스 수를 입력받고 다음 줄부터는 문자열에서 문자를 제외하고 숫자만 뽑아서 비 내림차순으로 정렬하여 출력해야 하는데 구분한다고 하면 split함수가 생각날 것이다. 하지만 일반적인 split함수로는 문자 하나에 대해서만 구분할 수 있는데 re라이브러리 안에 있는 split함수를 쓰면 구분할 문자가 여러 개여도 구분할 수 있다.
위의 독스에서 split에 대한 설명이 충분히 나와있기 때문에 설명은 생략하겠다.
re.split 함수로 숫자로 구성된 문자열을 뽑아내어 int형으로 변환해주고 리스트에 넣어서 sort함수로 오름차순 정렬하여 출력하면 된다.
완성된 코드👌
import re
res = list()
for i in range(int(input())):
s = input()
for v in re.split('[a-z]', s):
if v:
res.append(int(v))
res.sort()
for val in res: print(val)
split에 대한 설명에 부족한 점이 있다면 피드백 바랍니다.
'알고리즘 > 백준' 카테고리의 다른 글
[python] 백준 1439번 뒤집기 (0) | 2022.01.31 |
---|---|
[python] 백준 11656번 접미사 배열 (0) | 2022.01.28 |
[python] 백준 5217번 쌍의 합 (0) | 2022.01.14 |
[python] 백준 15233번 Final Score (0) | 2022.01.02 |
[python] 백준 13229번 Selection Sum (0) | 2022.01.01 |
@펄찌 :: Pearl's Story
펄의 일상이 궁금한 사람 요기~
즐거운 하루 되셨으면 좋겠습니다😊