코딩테스트
[구현] 08 문자열 재정렬 /파이썬 / 코딩테스트 예제
수학도
2021. 8. 20. 17:49
문자열 재정렬
난이도 ★☆☆ 풀이시간 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으로 추가한다