본문 바로가기
Algorithm

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

by YGSEO 2021. 1. 28.
728x90

Python

sort(), sorted()를 활용

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

JS

function solution(strings, n) {
    let answer = [];

    answer = strings.sort((a, b) => {
        if (a[n] < b[n]) return -1; // a comes first
        else if (a[n] > b[n]) return 1; // b comes first
        else { // a[n] === b[n]: got the same element of n'th idx
            if (a < b) return -1;     // a comes first
            else if (a > b) return 1; // b comes first
            else  return 0; // no changes
        }
    })

    return answer;
}

이번 문제를 통해 Javascript 의 sort 메서드를 조건이 여러개 일때 활용하는 방법을 배웠다.

 

파이썬 같은 경우에는 sorted 메서드의 lambda 함수를 통해 좀 더 간결하게 적용하는 걸 알고 있었지만,

Javascript 같은 경우 sort 메서드의 코드 길이가 길다보니 자세히 들여다 보지 않았지만,

이번 문제를 통해 document를 좀 더 자세히 읽어보면서

sort 메서드 안의 함수의 결과값으로 sort메서드가 정렬한다는 것을 알게되었다.

 

모르면 docs를 꼼꼼하게 읽거나 예제를 직접 구현해보면 이해가 더 잘됨.

 

developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/sort

728x90

댓글