본문 바로가기
Algorithm Problem Solving/이코테 (나동빈 저)

[구현] 이코테 문자열 재정렬 (Python / 파이썬)

by ʚ⇜❅🎕̈❄⇝ɞ 2022. 6. 5.
728x90
반응형

이것이 취업을 위한 코딩 테스트다 with 파이썬 (나동빈 저) 4장 구현(Implementation) 문자열 재정렬 문제는 입력받은 문자열에서 알파벳은 오름차순 정렬하고 숫자는 합하여 이어서 출력하는 문제이다.

 

이코테 4장 구현 문자열 재정렬 문제 정보

출처

- [한빛미디어] 이것이 취업을 위한 코딩 테스트다 with 파이썬 (나동빈 저)

- https://youtu.be/2zjoKjt97vQ

알고리즘 분류

- 구현 (Implementation algorithm)

 

문자열 재정렬 문제 요약

  • 알파벳 대문자와 숫자(0~9)로만 구성된 문자열이 입력으로 주어진다.
  • 모든 알파벳을 오름차순으로 정렬하여 이어서 출력한 뒤에
  • 그 뒤에 모든 숫자를 더한 값을 이어서 출력한다.
  • 첫째 줄에 하나의 문자열 S가 주어진다. (1 ≤ S의 길이 ≤ 10,000)

문제 풀이 과정

  1. 문자열 S를 입력받는다.
  2. 문자열의 모든 문자를 하나씩 확인하며,
  3. 알파벳인 경우 별도의 리스트에 저장하고,
  4. 숫자인 경우 별도로 합계를 계산한다.
  5. 알파벳이 담긴 리스트를 오름차순 정렬하고
  6. 숫자가 존재하는 경우 리스트 뒤에 삽입한다.
  7. 알파벳과 합계가 담긴 리스트를 출력한다.

 

코드 및 설명
  • S - 입력받은 문자열
  • s - 문자열의 문자
  • result - 알파벳을 담을 리스트
  • sum -  숫자의 합계
S = input()

result = []
sum = 0

for s in S:
    if s.isalpha():
        result.append(s)
    else:
        sum += int(s)

result.sort()

if sum != 0:
    result.append(str(sum))

print(''.join(result))

 

이것이 취업을 위한 코딩 테스트다 with 파이썬 (나동빈 저) 4장 구현(Implementation)의 문자열 재정렬 문제를 파이썬 python으로 풀어보았다.

728x90
반응형

댓글