문자열 재정렬
난이도 ★☆☆ 풀이시간 20분 시간제한 1초
알파벳 대문자와 숫자(0~9)로만 구성된 문자열이 입력으로 주어집니다. 이때 모든 알파벳을 오름차순으로 정렬하여 이어서 출력한 뒤에, 그 뒤에 모든 숫자를 더한 값을 이어서 출력합니다.
예를 들어 K1KA5CB7이라는 값이 들어오면 ABCKK13을 출력합니다.
입력 조건
- 첫째 줄에 하나의 문자열 S가 주어집니다. (1 ≤ S의 길이 ≤ 10,000)
출력 조건
- 첫째 줄에 문제에서 요구하는 정답을 출력합니다.
입력 예시1
K1KA5CB7
출력 예시1
ABCKK13
입력 예시 2
AJKDLSI412K4JSJ9D
출력 예시 2
ADDIJJJKKLSS20
모범 코드
String = input()
Char = list()
num = 0
for i in String:
if i.isdigit():
num += int(i)
else:
Char.append(i)
Char.sort()
if num != 0:
Char.append(str(num))
print("".join(Char))
해설
입력받은 문자열을 하나씩 확인해서 숫자면 num에 더하고 문자면 Char에 담는다
Char를 알파벳순으로 정렬하고
num이 0이 아니라면, 즉 입력받은 문자열에 숫자가 하나라도 있다면 Char에 str으로 추가한다
'코딩테스트' 카테고리의 다른 글
[그리디 Greedy] 06. 무지의 먹방 라이브 / 2019 카카오 신입 공채 코딩테스트 기출 / 파이썬 (0) | 2021.08.12 |
---|---|
[그리디 Greedy] 05. 볼링공 고르기 / 파이썬 (0) | 2021.08.12 |
[그리디 Greedy] 04. 만들 수 없는 금액 / 파이썬 (0) | 2021.08.10 |
[그리디 Greedy] 03. 문자열 뒤집기 / 백준 1439번 / 파이썬 (0) | 2021.08.10 |
[그리디 Greedy] 02. 곱하기 혹은 더하기 (0) | 2021.08.10 |