[이코테] 구현 - 문자열 재정렬

971 단어 이코테이코테

🔔 문제

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

입력

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

출력

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

🎯 풀이방법

이 문제는 요구하는 내용을 그대로 구현하면 되는 문제이다. 문자열이 입력되었을 때 문자를 하나씩 확인한 뒤에, 숫자인 경우 따로 합계를 계산하고, 알파벳인 경우 별도의 리스트에 저장한다. 그래서 결과적으로 리스트에 저장된 알파벳들을 정렬해 출력하고, 합계를 뒤에 붙여서 출력하면 정답 판정을 받을 수 있다.

💻 Python 코드

s = input()
number = 0 # 숫자
result = [] # 문자

for i in s:
    if i.isalpha(): # 알파벳인 경우 리스트에 삽입
        result.append(i)
    elif i.isdigit(): # 숫자인 경우 따로 더하기
        number += int(i)

result.sort()
if number != 0: # 숫자가 하나라도 존재한다면 리스트 가장 뒤에 삽입
    result.append(str(number))
print(''.join(result)) # 리스트 -> 문자열 변환 출력

좋은 웹페이지 즐겨찾기