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
'Algorithm' 카테고리의 다른 글
Javascript Regex flag (0) | 2021.01.29 |
---|---|
[프로그래머스] 문자열 내 p와 y의 개수 (JS, Python) (0) | 2021.01.29 |
[프로그래머스] 두 정수 사이의 합 (JS, Python) (0) | 2021.01.26 |
[프로그래머스] 나누어 떨어지는 숫자 배열 (JS, Python) (0) | 2021.01.26 |
[프로그래머스] 같은 숫자는 싫어 (python, js) (0) | 2021.01.26 |
댓글