ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 구현 유형 문제풀이 < 문자열 재정렬 >
    Python/알고리즘 2022. 8. 26. 22:17

    문제 설명, 조건

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

    ● 예를 들어 K1KA5CB7이라는 값이 들어오면 ABCKK13을 출력합니다.

    ● 입력 조건
        첫째 줄에 하나의 문자열 S가 주어집니다. (1 <= S <= 10,000)

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

    ● 입력 예시1
        K1KA5CB7

    ● 출력 예시1
        ABCKK13

    ● 입력 예시2
        AJKDLSI412K4JSJ9D

    ● 입력 예시2
        ADDIJJJKKLSS20

     

    답안 예시

    data = input()
    result = []
    value = 0

    # 문자를 하나씩 확인하며
    for x in data:
       
        # 알파벳인 경우 결과 리스트에 삽입
        if x.isalpha():
            result.append(x)
       
        # 숫자는 따로 더하기
        else:
            value += int(x)
        
    # 알파벳을 오름차순으로 정렬
    result.sort()

    # 숫자가 하나라도 존재하는 경우 가장 뒤에 삽입
    if value != 0:
        result.append(str(value))

    # 최종 결과 출력(리스트를 문자열로 변환하여 출력)
    print(''.join(result))

     

    작성한 답안

    # 입력 받기
    s = input()

    alp = "" # 영어
    num = 0 # 숫자

    for i in range(0, len(s)):
       
        # 영어만 뽑아냄
        if s[i].isalpha() == True:
            alp += s[i]
        
        # 숫자만 뽑아냄
        elif s[i].isdigit() == True:
            num += int(s[i])
        
    result = "".join(sorted(alp)) + str(num)

    print(result)

     

    출처 : https://www.youtube.com/watch?v=2zjoKjt97vQ&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=6 

     

    'Python > 알고리즘' 카테고리의 다른 글

    알파벳/숫자 확인  (0) 2022.08.27
    정렬  (0) 2022.08.27
    구현 유형 문제풀이 < 왕실의 나이트 >  (0) 2022.08.25
    구현 유형 문제풀이 < 시각 >  (0) 2022.08.25
    구현 유형 문제풀이 < 상하좌우 >  (0) 2022.08.23
Designed by Tistory.