[python] 문자열 정렬하기

손성수·2023년 4월 1일
0

알고리즘

목록 보기
9/10
  • 핵심 내용
    • sort 메소드는 원본 자체를 수정한다.
    • sorted 메소드는 원본의 값은 수정하지 않으며, 정렬한 값을 리스트 형태로 반환한다.
    • lower 메소드는 알파벳 요소를 소문자로 변경한다.
  • 추가 지식
    • upper 메소드는 알파벳 요소를 대문자로 변경한다.
    • isupper 메소드는 알파벳이 대문자인지 판별한다. 반환값 = (True & False)
    • islower 메소드는 알파벳이 소문자인지 판별한다. 반환값 = (True & False)

문자열 정렬하기

접근 방법

  • 문자열의 요소들을 하나 하나 쪼개어 리스트에 담는다.
  • lower() 메소드를 이용해 문자열의 알파벳을 모두 소문자로 변경한다.
  • sort() 메소드를 이용해 리스트의 요소를 정렬한다.
  • join() 메소드를 이용해 리스트의 요소들을 결합한다.
def solution(my_string):
	result = [i for i in my_string.lower()]
    result.sort()
    return "".join(result)

더 좋은 풀이

def solution(my_string):
	return "".join(sorted(my_string.lower()))

한눈에 봐도 보다 직관적이고 코드를 축약했으며,
나의 풀이와는 다르게 반복문을 사용할 필요가 없었다.

  • sorted
arr = [7,8,9,4]
result = sorted((arr))
print(result)
print(arr)

# 출력
[4, 7, 8, 9]
[7, 8, 9, 4]
  • sort
arr = [7,8,9,4]
arr.sort()
print(arr)

#출력
[4, 7, 8, 9]
  • sorted 메소드는 원본의 값은 수정하지 않고, 정렬한 값을 '리스트' 형태로 반환한다.
  • sort 메소드는 원본의 값을 정렬한다.

더 좋은 풀이에서는 위 특성을 이용해서
sorted 메소드로 리스트 형태로 만들어 반환했기에
나의 풀이에서 처럼, 반복문을 통해 문자열을 쪼개어 리스트를 담을 수고가 덜은 셈이다.

profile
더 노력하겠습니다

0개의 댓글

관련 채용 정보