문제
알파벳 대문자와 숫자(0-9)로만 구성된 문자열이 입력으로 주어질 때, 모든 알파벳을 오름차순으로 정렬하여 이어서 출력한 뒤, 숫자는 모두 합산하여 문자 뒤에 모든 숫자를 더한 값을 이어서 출력한다.
입력 조건
첫째줄에 하나의 문자열 S가 주어짐 (1<=S의 길이<=10,000)
출력 조건
첫째 줄에 뭄ㄴ제에서 요구하는 정답을 출력
입력 예시
K1KA5CB7
출력 예시
ABCKK13
해결 방법
구현 문제이다. 문자열 S를 sort함수로 정렬한 뒤 큐에 삽입해 하나씩 보면서 알파벳인지 숫자인지 확인하고 숫자일 경우 값을 더해가며 저장 한 뒤 문자열과 숫자합을 출력한다
코드
from collections import deque
s=input()
s=list(s)
s.sort()
q=deque(s)
sum_num=0
for i in s :
if not i.isalpha() :
i=int(i)
sum_num+=i
q.popleft()
else :
break
if sum_num!=0:
print("".join(q)+str(sum_num))
else :
print("".join(q))
'코딩테스트 문제풀이' 카테고리의 다른 글
[백준] 경쟁적 전염 (0) | 2022.09.07 |
---|---|
[프로그래머스] 문자열 압축 (0) | 2022.08.30 |
[이것이 코딩테스트다] 럭키 스트레이트 (0) | 2022.08.29 |
[이것이 코딩테스트다] 무지의 먹방라이브 (0) | 2022.08.28 |
[이것이 코딩테스트다] 볼링공 고르기 (1) | 2022.08.28 |