[이것이 코딩테스트다] 문자열 재정렬

Turtle·2024년 9월 14일
0
post-thumbnail

🗃️문제 설명

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

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

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

🖥️코드

import sys
input = sys.stdin.readline

S = input().strip()

alpha = []
num = 0

for s in S:
    if s.isalpha():
        alpha.append(s)
    elif s.isnumeric():
        num += int(s)

alpha.sort()

if num != 0:
    alpha.append(str(num))
print(''.join(alpha))

🧠아이디어

알고리즘 유형 : 구현

파이썬 내장 함수를 통해 문자와 숫자를 구분

  • isdigit() : 해당 문자열이 '숫자'로 이루어져 있는지 검사
  • isalpha() : 문자열이 영어 혹은 한글로 되어있으면 참 리턴, 아니면 거짓 리턴.
  • isnumeric() : 수로 볼 수 있는 것인 경우 True를 반환
  • isalnum() : 문자열이 영어, 한글 혹은 숫자로 되어있으면 참 리턴, 아니면 거짓 리턴

🔒문제 출처 및 참고 코드

이것이 코딩테스트다 with 파이썬 - 문자열 재정렬
모범 답안 - 문자열 재정렬

0개의 댓글