code/[프로그래머스] python
[코딩 테스트 연습 입문] 문자열 정렬하기 (2)
오리는짹짹
2022. 12. 29. 10:42
문제
영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때, my_string을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요.
❗제한사항❗
- 0 < my_string 길이 < 100
입출력 예
입출력 예 설명
입출력 예 #1
- "Bcad"를 모두 소문자로 바꾸면 "bcad"이고 이를 알파벳 순으로 정렬하면 "abcd"입니다.
입출력 예 #2
- "heLLo"를 모두 소문자로 바꾸면 "hello"이고 이를 알파벳 순으로 정렬하면 "ehllo"입니다.
입출력 예 #3
- "Python"를 모두 소문자로 바꾸면 "python"이고 이를 알파벳 순으로 정렬하면 "hnopty"입니다.
✔풀이
def solution(my_string):
my_string=my_string.lower()
return "".join(sorted(my_string))
📝설명
문제에서 주어진 my_string은 문자열이고, 이를 모두 소문자로 바꾸고 알파벳 순서대로 정렬하라고 했다.
어제 수업에서 다뤘던 내용을 토대로 진행한다면 충분히 할 수 있는 문제!!
우선, .lower()를 통해 my_string에 있는 모든 문자를 소문자고 바꿔주었다.
(만약에 대문자로 전부 바꾸고 싶다면 .upper()를 사용하면 됨!)
그렇게 전부 소문자로 구성된 것을 my_string에 재할당하고,
return 에 바로 join과 sorted를 활용하여 결과를 도출했다.
return을 뜯어보면,
먼저 소문자로 구성된 my_string을 sorted()안에 집어넣었다.
이렇게 하면 문자열을 알파벳 순으로 정렬할 수 있다.
이 때, 문자열 속 알파벳 하나하나가 리스트의 구성으로 분류되면서 리스트로 만들어져버린다.
우리가 결과로 꺼내야하는건 리스트가 아니라 문자열이니까!! 문자열로 바꿔줘야하는데,,
"".join()안에 다시 정렬된 리스트를 집어넣으면 문자열로 변환해준다.
➕개선한다면?
👑모범 답안
👀느낀 점
: 발전하는 내 자신🤸🏻♀️🤸🏻♀️🤸🏻♀️🤸🏻♀️
칭찬합니다.
💻 문제 출처