개발자일걸요..?

문자열 내 마음대로 정렬하기 본문

알고리즘코딩/Programmers

문자열 내 마음대로 정렬하기

Re_A 2021. 7. 25. 22:11
728x90
반응형

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

 

코딩테스트 연습 - 문자열 내 마음대로 정렬하기

문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱

programmers.co.kr

(프로그래머스>코딩테스트 연습>연습문제>문자열 내 마음대로 정렬하기(level1))

 


 

<문제>

 

문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다.

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

 


 

<내가 작성한 코드>

 

def solution(strings, n):
    return sorted(strings, key=lambda x:(x[n],x))

 


 

<참고한 개념>

 

sorted(arr, key = lambda x : x[n]) -> key 인자에 함수를 넘겨주면 해당 함수의 반환값을 비교하여 순서대로 정렬

        => x[n] 값을 x에 넘겨주고, x를 기준으로 arr 정렬

sorted(arr, key = lambda x : (x[n],x)) -> 위 함수의 결과 안에서 다음 두 번째 인자를 기준으로 내림차순으로 정렬

        => x[n] 값을 x에 넘겨주고, x를 기준으로 arr 정렬, 그리고 같은 값을 가졌던 x[n]을 x를 기준으로 내부 재정렬

 

 

 

반응형

'알고리즘코딩 > Programmers' 카테고리의 다른 글

최대공약수와 최소공배수  (0) 2021.07.25
예산  (0) 2021.07.25
나누어 떨어지는 숫자 배열  (0) 2021.07.25
같은 숫자는 싫어  (0) 2021.07.25
두 정수의 합  (0) 2021.07.25
Comments