728x90
반응형
해당 문제 및 해설은 "이것이 코딩테스트 다 with 파이썬" 책을 기준으로 요약 및 정리하여 작성하였습니다.
기본 이론
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
반응형
'개발 > Coding Test - Python' 카테고리의 다른 글
[Python] 백준 11058번 크리보드 - 다이나믹 프로그래밍(DP) (0) | 2023.03.08 |
---|---|
[Python] 백준 1743번 음식물 피하기 - DFS (0) | 2023.03.07 |
[Python] 백준 18406 럭키 스트레이트 - 구현 (0) | 2023.03.05 |
[Python] 백준 1890 점프 - 다이나믹 프로그래밍(DP) (0) | 2023.03.03 |
[Python] 백준 1303 전쟁 - 전투 - BFS/DFS (0) | 2023.03.02 |