<청춘> 격정적으로 사는 것

밤을 새고 공부한 다음 날 새벽에 느꼈던 생생한 환희와 야생적인 즐거움을 잊을 수 없다

코딩테스트

[구현] 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으로 추가한다