본문 바로가기

Algorithm/[이코테] 알고리즘 유형별 기출문제

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

난이도 : ●○○ | 풀이 시간 : 20분 | 시간 제한 : 1초 | 메모리 제한 : 128MB | 기출 : Facebook 인터뷰

 

문제

  • 알파벳 대문자와 숫자(0~9)로만 이루어진 문자열이 주어진다.
  • 이때 모든 알파벳을 오름차순으로 정렬해 출력한 뒤에 모든 숫자를 더한 값을 출력한다.

 

입력조건

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

출력조건

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

 

입력예시

K1KA5CB7

출력예시

ABCKK13

 

아이디어

  • 입력된 문자열을 한 글자씩 확인한다.
    • 숫자라면 num이라는 변수에 누적시킨다.
    • 알파벳이라면 result라는 리스트에 append한다.
  • result.sort()한 것을 출력하고 이어서 num을 출력한다.
    • 한 번에 출력하기 위해 num을 str으로 변환한 뒤 result에 append()한다.

 

코드

s=input()
result=[]
num=0
for i in range(len(s)):
    if s[i].isdigit():
        num +=int(s[i])
    else:
        result.append(s[i])
result.sort()
result.append(str(num))
print("".join(result))