728x90
알파벳 대문자와 숫자(0~9)로만 구성된 문자열이 입력으로 주어집니다. 이때 모든 알파벳을 오름차순으로 정렬하여 이어서 출력한 뒤에, 그 뒤에 모든 숫자를 더한 값을 어어서 출력합니다.
입력 예시 1)
K1KA5CB7
출력 예시 1)
ABCKK13
입력 예시 2)
AJKDLSI412K4JSJ9D
출력 예시 2)
ADDIJJJKKLSS20
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
import sys
sys.stdin = open('input.txt')
for test in range(2):
result = []
count = 0
n = list(input())
#원소하나씩꺼내기
for i in n:
if i.isalpha():
result.append(i)
else:
count += int(i)
#알파벳 먼저 정렬
result = sorted(result)
result.append(str(count))
print("".join(result))
|
cs |
풀이: 입력예시를 input.txt.파일로 만들어 입력을 자동으로 받게 만들었습니다. 알파벳을 오름차순으로 정렬해야 하므로 먼저 sorted함수를 이용해서 정렬해줍니다. 그 다음 숫자는 더하기 연산을 진행하여 마지막에 추가해줍니다. 이렇게 문자 1개씩 저장된 result리스트를 1개의 문자열로 만들어 줍니다.
배운 점:
1. 문자열을 문자 1개씩 바꿀려면 list함수를 사용하면 된다.
2. result.sort를 작성하면 바껴야하는데 컴파일해도 안바뀌더라 뭔가 오류가 생긴것 같은데 코테볼때도 sorted써야할듯?
3. isalpha()를 안 쓴지 오래되서 까먹었었다. 그리고 isdigit()는 숫자를 찾는 함수이다. isdigit()를 쓴 풀이도 가능하다.
4. 알파벳도 sort를 사용하면 정렬이 된다.
728x90
'코딩테스트 > 구현' 카테고리의 다른 글
[python] Lv.2 프로그래머스: JadenCase 문자열 만들기 (0) | 2023.03.07 |
---|---|
<PART 3> 백준 1010번: 다리 놓기 (0) | 2022.11.17 |
<PART 3> Q9.프로그래머스 2020 KAKAO BLIND RECRUITMENT 문자열 압축 (0) | 2022.11.15 |
<PART 3> Q7.백준 18406번: 럭키스트레이트 (0) | 2022.11.15 |
<PART 2> 구현(완전탐색,시뮬레이션) (0) | 2022.11.04 |
댓글