이코테 기출 문제 8.문자열 재정렬

MongCheol·2022년 6월 28일
post-thumbnail

문자열 재정렬

알파벳 대문자와 숫자(0~9)로만 구성된 문자열이 입력으로 주어진다.
이때 모든 알파벳을 오름차순으로 정렬하여 이어서 출력한 뒤에,
그 뒤에 모든 숫자를 더한 값을 이어서 출력합니다.
예를 들어 K1KA5CB7이라는 값이 들어오면 ABCKK13을 출력합니다.


입력 조건

  • 첫째 줄에 하나의 문자열 S가 주어집니다.( 1 <= S의 길이 <= 10,000)

출력 조건

  • 첫재 줄에 문제에서 요구하는 정답을 출력합니다.

입력 예시 1

K1KA5CB7


출력 예시 1

ABCKK13


입력 예시 2

AJKDLSI412K4JSJ9D


출력 예시 2

ADDIJJJKKLSS20

# Try
data = input()
num = []
alphabet = []
for i in range(len(data)):
    if '0' <= data[i] <= '9':
        num.append(int(data[i]))
    else:
        alphabet.append(data[i])
        
alphabet.sort()
result = ''
for i in range(len(alphabet)):
    result += alphabet[i]
    
result += str(sum(num))
print(result)

K1KA5CB7
ABCKK13

AJKDLSI412K4JSJ9D
ADDIJJJKKLSS20

1회차 풀이 후기

적당히 푼것 같다.
.isalpha() 함수를 활용하면 문자열의 알파벳 여부를 알 수 있다.
숫자가 없는 경우에는 0을 붙이게 되서 오답이 된다. 문제의 조건을 더 잘 확인하자.
print(''.join(alphabet)) 을 사용하면 for문을 한번더 사용하지 않아도 된다.

profile
자그마한 개미

0개의 댓글