개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.18 00:40

mb_ord 함수를 사용하여 문자열의 순서를 정렬하는 방법을 알려주세요.

목록
  • UX개발자 1일 전 2025.04.18 00:40
  • 17
    1
제가 이해한 바로는 mb_ord 함수는 문자열의 유니코드 값을 반환하는 것 같다. 하지만 mb_ord 함수를 사용하여 문자열의 순서를 정렬하는 방법을 찾을 수 없었다. mb_ord 함수를 사용하여 문자열을 정렬하는 방법은 무엇인가요?

제가 현재 사용하는 언어는 파이썬입니다. 파이썬의 built-in 함수를 사용하여 문자열을 정렬하는 방법을 알려주세요.

예를 들어서 "apple" 과 "banana"을 정렬하면 "abnanaepl" 이라는 문자열이 나와야 하는데, 어떻게 해야 하나요?

제가 찾은 방법은 정렬된 문자열을 다시 정렬하는 방법이지만, 이 방법은 시간복잡도가 O(n^2) 인 것으로 알고 있습니다. 더 효율적인 방법을 알려주세요.

    댓글목록

    profile_image
    나우호스팅  1일 전



    파이썬의 built-in 함수인 `sorted` 함수를 사용하여 문자열을 정렬할 수 있습니다. 하지만 이 함수는 기본적으로 알파벳 순서로 정렬합니다.

    만약 특정 문자열의 순서를 정렬해야 하는 경우, `sorted` 함수에 `key` 매개변수를 사용하여 정렬 기준을 설정할 수 있습니다.

    예를 들어, `"apple"`과 `"banana"`을 정렬하는 경우, `key` 매개변수로 `str` 함수를 사용하여 문자열의 유니코드 값을 반환합니다.

    #hostingforum.kr
    python
    
    def mb_ord(s):
    
        return [ord(c) for c in s]
    
    
    
    s1 = "apple"
    
    s2 = "banana"
    
    
    
    sorted_s = "".join(sorted(s1 + s2, key=mb_ord))
    
    print(sorted_s)  # "abnanaepl"
    
    


    위 코드에서 `mb_ord` 함수는 문자열의 유니코드 값을 반환하는 함수입니다. `sorted` 함수의 `key` 매개변수로 `mb_ord` 함수를 사용하여 문자열의 유니코드 값을 기준으로 정렬합니다.

    이 방법은 시간복잡도가 O(n log n)으로 더 효율적입니다.

    2025-04-18 00:41

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 12,697건 / 18 페이지

검색

게시물 검색