본문 바로가기
개발/Coding Test - Python

[Python] 이것이 코딩테스트다 with 파이썬 - 문자열 재정렬 - 구현

by seopport 2023. 3. 6.
728x90
반응형

해당 문제 및 해설은 "이것이 코딩테스트 다 with 파이썬" 책을 기준으로 요약 및 정리하여 작성하였습니다.

 

이것이 코딩테스트다 with 파이썬 구입처

 

이것이 취업을 위한 코딩 테스트다 with 파이썬 - YES24

나동빈 저자의 유튜브 라이브 방송 https://www.youtube.com/c/dongbinnaIT 취준생이라면 누구나 입사하고 싶은 카카오 · 삼성전자 · 네이버 · 라인!취업의 성공 열쇠는 알고리즘 인터뷰에 있다!IT 취준생

www.yes24.com

 


기본 이론

1 . 대문자, 소문자 변환

  • 문자열 소문자에서 대문자로 변환 (upper())
  • 문자열 대문자에서 소문자로 변환 (lower())

 

1 - 1 . 문자열 소문자에서 대문자로 변환 - STRING.upper()

record = 'aBcDeF'

print(record.upper())

# 출력
# ABCDEF

 

1- 2 . 문자열 대문자에서 소문자로 변환 - STRING.lower()

record = 'aBcDeF'

print(record.lower())

# 출력
# abcdef

 

2. 문자, 숫자 구분

  • 문자 True 숫자 False (isalpha())
  • 문자 False 숫자 True (isdigit())

 

2 - 1 . 문자 True 숫자 False - STRING.isalpha()

engRecord = 'aBcDeF'
korRecord = '테스트'
numRecord = '100'

print(engRecord.isalpha())
print(korRecord.isalpha())
print(numRecord.isalpha())

# 출력
# True
# True
# False

 

2 - 2 . 문자 False 숫자 True - INT.isdigit()

engRecord = 'aBcDeF'
korRecord = '테스트'
numRecord = '100'

print(engRecord.isdigit())
print(korRecord.isdigit())
print(numRecord.isdigit())

# 출력
# False
# False
# True

 


문제 : 문자열 재정렬

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

 

입력 조건

첫째 줄에 하나의 문자열 S 가 주어집니다. ( 1 ≤ S의 길이 ≤ 10,000 )

 

출력 조건

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

 

입력 예시 1 출력 예시 1
K1KA5CB7 ABCKK13

 

입력 예시 2 출력 예시 2
AJKDLSI412K4JSJ9D 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))

 

728x90
반응형