새소식

⌨️ Algorithms/프로그래머스

[Python] 프로그래머스 Lv1_문자열 내 마음대로 정렬하기

2022. 12. 18. 14:47

  • -

https://school.programmers.co.kr/learn/courses/30/lessons/12915

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

  • 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬

제한 조건

  • strings는 길이 1 이상, 50이하인 배열입
  • strings의 원소는 소문자 알파벳으로 이루어져 있음
  • strings의 원소는 길이 1 이상, 100이하인 문자열
  • 모든 strings의 원소의 길이는 n보다 큼
  • 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치

 

"""
입출력 예시)

strings =  ["sun", "bed", "car"], n = 1 -> ["car", "bed", "sun"]
strings =  ["abce", "abcd", "cdx"], n = 2 -> ["abcd", "abce", "cdx"]
"""

 

# strings =  ["abce", "abcd", "cdx"], n = 2

# "abce"와 "abcd", "cdx"의 2번째 인덱스 값 -> "c", "c", "x"
# "abce"와 "abcd"는 사전순으로 정렬하면 "abcd"가 우선
# => ["abcd", "abce", "cdx"]

 

 

통과한 코드

 

def solution(strings, n):
    answer = []
    strings.sort() # 사전순으로 정렬
    answer = sorted(strings, key=lambda x:x[n]) # 인덱스 n번째 글자를 기준으로 정렬
    return answer

 

-> sort()로 사전순으로 먼저 정렬한 다음, 인덱스 n번째 글자를 기준으로 정렬 

 

 

  • sort()
    • list.sort()
    • 리스트만 사용 가능
    • 반환 값: None -> 원본 리스트를 변형
    • 정렬된 리스트를 출력하려면 print(원본 list)
    • 그냥 sort()만 사용 시 사전순으로 정렬해 줌
  • sorted()
    • sorted(list)
    • 리스트뿐만 아니라 iterable 객체에 모두 사용 가능
    • 반환 값: 정렬된 새로운 리스트 -> 원본 리스트 변형 x

 

 

참고)

 

https://docs.python.org/3.11/howto/sorting.html

 

Sorting HOW TO

Author, Andrew Dalke and Raymond Hettinger,, Release, 0.1,. Python lists have a built-in list.sort() method that modifies the list in-place. There is also a sorted() built-in function that builds a...

docs.python.org

 

https://yiyj1030.tistory.com/90

 

[python] 파이썬 - 리스트 정렬 예제( 정렬 및 역정렬, key 와 람다식 활용한 조건 정렬)

코딩테스트에서 정렬은 매우 중요하다. 적재적소에 정렬을 사용하면 문제를 더욱 쉽게 풀 수 있다. 따라서 정렬에 관한 모든 내용을 적어보겠다. - 정렬은 기본적으로 파이썬에서 제공하는 .sort(

yiyj1030.tistory.com

 

https://cigiko.cafe24.com/python-%EC%A0%95%EB%A0%AC%ED%95%98%EA%B8%B0-sort%EC%99%80-sorted/

 

[Python] sort()와 sorted()로 정렬하기 – nc2u 블로그

[Python] sort()와 sorted()로 정렬하기 파이썬 리스트는 sort() 라는 메소드를 가지고 이 메소드는 리스트를 정렬된 상태로 변경한다. 또 sorted() 라는 내장 함수는 이터러블 객체로부터 정렬된 리스트

cigiko.cafe24.com

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다!