-
[알고리즘] Facebook 인터뷰 - 문자열 재정렬알고리즘 2022. 8. 20. 22:05728x90
문제
알파벳 대문자와 숫자로만 구성된 문자열이 입력으로 주어진다
이떄 모든 알파벳을 오름차순으로 출력한 뒤, 뒤에 모든 숫자를 합치기
접근
1. 문자열 형태로 데이터를 받아서 re을 통해서 문자열과 숫자를 구분한다
2. 숫자들을 정수형의 리스트로 만들어 합을 구한다
3. 문자열을 정렬을 하고 그 뒤에 이어 붙인다
풀이
# 문자열에서 숫자와 문자 구분하는데 있어서 좋음 import sys import re input = sys.stdin.readline s = input() # 문자열에서 숫자랑 문자만 구분해서 별도로 리스트 만들기 numbers = re.findall('\d', s) alphas = re.findall('[A-Z]', s) # sort가 아닌 sorted를 써야한다 # 문자형식으로 되어 있는 숫자를 정수형으로 바꿈 number = list(map(int, numbers)) alphas = sorted(alphas) # alphas 리스트에 number 추가 alphas.append(str(sum(number))) # 리스트를 문자열로 합치는 방법 print(''.join(s for s in alphas))
'알고리즘' 카테고리의 다른 글
[알고리즘] dfs / bfs 정리 (0) 2022.09.16 [알고리즘] 그리디 정리 (0) 2022.09.16 [알고리즘] 백준 - 18406 럭키 스트레이트 (0) 2022.08.20 [알고리즘] 백준 1654 - 랜선 자르기 (0) 2022.08.16 [알고리즘] 백준 1920 - 수 찾기 (0) 2022.08.16