이호진

문자, 숫자 재정렬하기 (2021/02/19) 본문

주요 알고리즘

문자, 숫자 재정렬하기 (2021/02/19)

이호진 2021. 2. 19. 23:23

이 문제는 문자와 숫자가 섞여있는 문자열을 받아서 문자는 문자끼리 모으고 숫자는 다 더해서 정렬 후 출력하는 문제다.

 

예를들어 CBA32ZXY12 라는 문자열을 입력받으면 ABCXYZ8을 출력한다.

 

입력받은 문자열을 for문을 이용하여 하나씩 문자는 문자끼리 append하고 숫자는 숫자끼리 value라는 값에 더해준다.

 

그리고 문자를 오름차순 정렬 후 문자와 숫자를 더하고 출력한다.

 

data = input()
CBA32ZXY12
result=[]
value = 0

for x in data:
    if x.isalpha():
        result.append(x)
    else:
        value += int(x)
        
result.sort()
if value != 0:
    result.append(str(value))
    
print(''.join(result))
ABCXYZ8

if value !=0 을 이용하여 숫자가 존재하는지 아닌지를 검사하고 print(''.join(result))를 이용해 리스트를 문자열로 변환하여 출력할 수 있다.

 

 

 

 

문자열 재정렬