본문 바로가기

알고리즘 (Python)/이것이 코딩 테스트다 with 파이썬 (실습)

[구현 알고리즘] 문자열 재정렬 - 파이썬(python)

728x90
반응형

문자열 재정렬

난이도 : 下 풀이 시간 : 20분

시간 제한 : 1초 메모리 제한 : 128 MB

 


 

해답

 

n = input()

munja, sutja = [], []

for i in n:
    if i.isdecimal():
        sutja.append(i)
    else:
        munja.append(i)

munja.sort()
sum = 0

for i in sutja:
    sum = sum + int(i)
munja.append(str(sum))

print(''.join(munja))

예시

 

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))

해설

 

isdecimal() 함수를 통하여 문자는 munja 리스트에, 숫자는 sutja 리스트에 넣어줍니다.
문자는 sort() 함수로 오름차순 정렬해주고, 숫자는 sum 변수에 합을 구해줍니다.
마지막으로 구한 sum을 munja 리스트 마지막에 넣고, 리스트를 출력 예시에 맞게 출력해줍니다.
728x90
반응형