문제 설명
문자열 my_string이 매개변수로 주어질 때, my_string 안에 있는 숫자만 골라 오름차순 정렬한 리스트를 return 하도록 solution 함수를 작성해보세요.
제한사항
- 1 ≤ my_string의 길이 ≤ 100
- my_string에는 숫자가 한 개 이상 포함되어 있습니다.
- my_string은 영어 소문자 또는 0부터 9까지의 숫자로 이루어져 있습니다.
입출력 예
| my_string | result |
| "hi12392" | [1, 2, 2, 3, 9] |
| "p2o4i8gj2" | [2, 2, 4, 8] |
| "abcde0" | [0] |
내 풀이
def solution(my_string):
return sorted([ int(i) for i in my_string if ord(i) < 65 ])
회고
- ㅎㅎ 깔끔하게 푼 것 같아서 기분 좋다!
- 요렇게 풀어 쓸 수 있다:
def solution(my_string):
answer = []
for i in my_string:
if ord(i) < 65:
answer.append(int(i))
return sorted(answer)
- if문을 통해 문자가 아닌 숫자인지 판별하고, 숫자일 경우 다시 정수형으로 바꾸어 리스트에 추가
- 근데 숫자 판별할 때 굳이 아스키 코드로 판별할 필요 없이 그냥 isdigit() 함수 쓰면 끝난다!!! 바보바보!!!!!!
'Programmers > Python' 카테고리의 다른 글
| [프로그래머스] [Python] 순서쌍의 개수 (1) | 2022.11.12 |
|---|---|
| [프로그래머스] [Python] 옷가게 할인 받기 (0) | 2022.11.12 |
| [프로그래머스] [Python] 문자열 정렬하기 (2) (0) | 2022.11.11 |
| [프로그래머스] [Python] 대문자와 소문자 (2) | 2022.11.11 |
| [프로그래머스] [Python] 숫자 찾기 (0) | 2022.11.11 |