문자열 재정렬 (Python)

박지훈·2021년 3월 9일
0
post-custom-banner

문제

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

예를 들어 K1KA5CB7 이라는 값이 들어오면 ABCKK13을 출력합니다.

(입력 조건)

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

(출력 조건)

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

입력 예시
K1KA5CB7

출력 예시
ABCKK13


입력 예시
AJKDLSI412K4JSJ9D

출력 예시
ADDIJJJKKLSS20



풀이

  1. 입력받은 문자열 한 글자씩 탐색.
    • 알파벳이라면 배열에 따로 저장
    • 숫자이면 따로 합을 더함
  2. 알파벳 배열 오름차순으로 정렬 후 정답 뒤에 숫자의 합을 더해줌.



코드

import sys

N = sys.stdin.readline().strip()
answer = []
num = 0

for x in N:
    if x.isalpha():
        answer.append(x)

    else:
        num += int(x)

answer.sort()

if num != 0:
    answer.append(str(num))

print(''.join(answer))
profile
Computer Science!!
post-custom-banner

3개의 댓글

comment-user-thumbnail
2024년 5월 3일

I am astounded! Thank you so much for providing us with this valuable knowledge; your article is excellent. More shares would be great. Play game the baby in yellow free.

답글 달기
comment-user-thumbnail
2024년 8월 2일

Very good topic to learn bubble shooter

답글 달기
comment-user-thumbnail
2024년 9월 19일

Eggy Car combines humor and challenge in a unique way. The game's concept of driving carefully over uneven terrain while protecting an egg makes it both frustrating and rewarding. A great game to test your reflexes!

답글 달기