문자열 재정렬

이종호·2020년 10월 5일
0

알고리즘

목록 보기
11/18

문제

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

입력:

K1KA5CB7
FDSARQWER13579

출력:

ABCKK13
ADEFQRRSW25

구현 계획

음 간단히 문자열 s를 입력받고, s를 한 칸씩 돌아가면서 숫자가 나오면 sum변수에 더하고
문자열 값이 나온다면 새로운 문자열 배열에 넣는다.
그리고 새로운 문자열 배열을 sort()를 통해 정렬하고
print(새로운문자열배열 + str(sum))을 하면 될 듯 하다.

나온 값이 숫자인지 아닌지 판단하기 위해선
ord를 이용해서 판단다면 될 것 같다.

실제 코드

s = input()

sum = 0
new_s = []
for i in s:
    if (ord(i) < 65): # 숫자
        sum += int(i)
    else:
        new_s.append(i)

new_s.sort()
ss = ''
for i in new_s:
    ss+=i
print(ss+str(sum))

느낀 점

구현은 맞는 것 같고 나중에 코드를 더 깔끔하게 다듬을 수 없는지 확인하고 외워야 겠다.

profile
열심히 사는 사람

0개의 댓글