728x90
반응형
1. 문제 설명
2. 풀이과정
- 소문자와 대문자를 각각 저장해 줄 공백 리스트를 만든다. li = list() LI = list()
- 매개변수로 입력받은 문자열 s의 각 문자를 반복문을 사용하여 추출한다. for i in s
- 만약 추출한 문자를 아스키코드로 바꿨을 때 소문자 a의 아스키코드 값인 97과 소문자 z의 아스키코드 값인 122 사이에 있는 값이라면 if (97 <= ord(i) <= 122)
- 소문자를 저장하는 리스트에 추출한 문자를 추가한다. li.append(i)
- 반면에 추출한 문자가 대문자라면 else
- 대문자를 저장하는 리스트에 추출한 문자를 추가한다. LI.append(i)
- 소문자 리스트를 내림차순으로 정렬한다. li.sort() li.reverse()
- 대문자 리스트도 내림차순으로 정렬한다. LI.sort() LI.reverse()
- 대문자를 소문자보다 작은 것으로 간주한다. 따라서 소문자가 대문자보다 앞에 와야 하므로 소문자 리스트부터 원소를 하나씩 추출하여 결과 문자열에 더해준다. for i in li: answer += i
- 이후 대문자 리스트 원소도 하나씩 추출하여 결과 문자열에 더해준다. for i in LI: answer += i
반응형
3. 소스코드
def solution(s):
answer = ''
li = list()
LI = list()
for i in s:
if (97 <= ord(i) <= 122):
li.append(i)
else:
LI.append(i)
li.sort()
li.reverse()
LI.sort()
LI.reverse()
for i in li:
answer += i
for i in LI:
answer += i
return answer
728x90
반응형
'프로그래머스 > Python' 카테고리의 다른 글
[프로그래머스] 행렬의 덧셈 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.02 |
---|---|
[프로그래머스] 최댓값과 최솟값 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.02 |
[프로그래머스] 문자열 다루기 기본 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.02 |
[프로그래머스] 부족한 금액 계산하기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.02 |
[프로그래머스] 약수의 개수와 덧셈 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.01 |
[프로그래머스] 내적 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.01 |
[프로그래머스] 수박수박수박수박수박수? - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.01 |
[프로그래머스] 가운데 글자 가져오기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.01 |