[문제 설명]
영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때,
my_string을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요.
[제한사항]
0 < my_string 길이 < 100
[입출력 예]
my_string result
"Bcad" "abcd"
"heLLo" "ehllo"
"Python" "hnopty"
[입출력 예]
입출력 예 #1)
"Bcad"를 모두 소문자로 바꾸면 "bcad"이고 이를 알파벳 순으로 정렬하면 "abcd"입니다.
입출력 예 #2)
"heLLo"를 모두 소문자로 바꾸면 "hello"이고 이를 알파벳 순으로 정렬하면 "ehllo"입니다.
입출력 예 #3)
"Python"를 모두 소문자로 바꾸면 "python"이고 이를 알파벳 순으로 정렬하면 "hnopty"입니다.
[나의 풀이]
def solution(my_string):
return ''.join(sorted(my_string.lower()))
[ sorted() 특징]
- iterable한 객체를 인자로 받아 데이터를 정렬해준다.
- iterable 객체 : 반복 가능한 객체
- 대표적으로 iterable한 타입 : list, tuple, set, string, dict, bytes, range
- 인자로 넘어온 객체의 원래 순서를 바뀌지 않는다.
list = [3,5,8,1,2,7]
sorted_list = sorted(list)
print(list)
print(sorted_list)
Out[1]:
# list
[3, 5, 8, 1, 2, 7] -> 원래 순서는 바뀌지 않는다.
# sorted_list
[1, 2, 3, 5, 7, 8]
- sorted()를 사용하면 항상 리스트로 반환된다.
string = "47153"
sorted(string)
Out[2]:
['1', '3', '4', '5', '7'] -> list로 반환됨
- 문자열로 바꾸고 싶다면 join을 사용하면 된다.
string = "47153"
''.join(sorted(string))
Out[3]:
'13457'
'Test > python' 카테고리의 다른 글
문자열안에 문자열 (find, in, not in) (0) | 2023.04.05 |
---|---|
세균 증식 (비트 연산자: <<, >>, &, | ) (0) | 2023.04.04 |
7의 개수 ( join, count ) (0) | 2023.04.03 |
잘라서 배열로 저장하기 (filter) (0) | 2023.04.02 |
연속된 수의 합 (0) | 2023.04.02 |