상세 컨텐츠

본문 제목

[Python] 구현: 시뮬레이션과 완전 탐색_문자열 재정렬

Python/이코테

by Gopythor 2022. 6. 11. 15:26

본문

728x90
반응형

<문제> 문자열 재정렬: 문제 설명

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

  • 요구사항대로 충실히 구현하면 되는 문제입니다.
  • 문자열이 입력되었을 때 문자를 하나씩 확인합니다..
    • 숫자인 경우 따로 합계를 계산합니다.
    • 알파벳인 경우 별도의 리스트에 저장합니다.
  • 결과적으로 리스트에 저장된 알파벳을 정렬해 출력하고, 합계를 뒤에 붙여 출력하면 정답입니다.

내코드

letter = input()
letter = sorted(letter)
sum = 0
result =""

for i in letter:
    if ord(i)>=ord('0') and ord(i)<=ord('9'):
      sum += int(i)
    else:
        result +=i


result+=str(sum)

print(result)

<문제> 문자열 재정렬: 답안 예시 (Python)

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

참조점

isalpha() : 알파벳인지 확인

isdigit() : 숫자인지 확인

isalnum() 알파벳 또는 숫자인지 확인

728x90
반응형

관련글 더보기

댓글 영역