구현
머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정
완전 탐색 - 모든 경우의 수를 주저 없이 다 계산하는 해결 방법
시뮬레이션 - 문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접 수행
알파벳 대문자와 숫자(0~9)로만 구성된 문자열이 입력으로 주어집니다. 이때 모든 알파벳을 오름차순으로 정렬하여 이어서 출력한 뒤에, 그 뒤에 모든 숫자를 더한 값을 이어서 출력합니다.
K1KA5CB7
ABCKK13
AJKDLSI412K4JS9D
ADDIJJJKKLSS20
data = input()
number_sum = 0
Alphabet_list =[]
# 숫자 0 ~ 9 아스키 코드 값 => 48 ~ 57
# 알파벳 대문자 A ~ Z 아스키 코드 값 => 65 ~ 90
for i in data:
if 48 <= ord(i) <= 57:
number_sum += int(i)
else:
Alphabet_list.append(i)
Alphabet_list.sort()
# join 함수. 리스트를 문자열로 변환
print(''.join(Alphabet_list), end=str(number_sum))
입력된 문자열을 하나씩 확인하여 대문자인지 숫자인지 파악하고 숫자면 숫자의 합을 만들고 대문자면 리스트에 값을 넣어준다.
아스키 코드가 아닌 isalpha, isdigit 함수 사용
isalpha 함수
: 문자열이 문자인지 아닌지를 True, False로 리턴
isdigit 함수
: 문자열이 숫자인지 아닌지를 True, False로 리턴
for i in data:
if i.isdigit():
number_sum += int(i)
else:
Alphabet_list.append(i)
isdigit, isalpha 함수 기억하기