문자열 재정렬

INGBEEN·2021년 11월 2일
0

알고리즘 문제

목록 보기
8/20

문제 설명

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

<입력>
첫째 줄에 문자열 S가 주어진다. (1 <= len(S) <= 10000)

<출력>
정답

<예시>
K1KA5CB7
ABCKK13


나의 풀이

s = input()
is_string = []
is_number = []
for i in s:
    if i.isdigit() == True:
        is_number.append(int(i))
    else:
        is_string.append(i)
is_string.sort()
s = ''.join(is_string)
if len(is_number) == 0:
    print(s)
else:
    print(s+str(sum(is_number)))

책 풀이

생략한다

느낀 점

  • 문자열을 정렬하려면 어떻게 하는가?
    s.sort() -> 에러. 문자열에는 sort() 함수가 없음.
    s = sorted(s) -> 가능. 하지만 반환형이 list
    s = ''.join(sorted(s)) -> list를 다시 str로

  • isdigit() 함수
    문자열이 숫자인지 아닌지 판단. bool 형

  • sum([]) -> 0을 반환한다.

profile
No Excuses

0개의 댓글

관련 채용 정보