- 문자열로 구성된 리스트와, 정수 n이 주어집니다.
- 각 문자열의 n번째 글자를 기준으로 문자열을 오름차순 정렬합니다.
- 만약 n번째 글자가 같다면, 사전 순으로 문자열을 배치합니다.
문자열을 오름차순으로 정렬
function solution(strings, n) {
strings.sort(function(a, b) {
a - b
})
}
문자열의 n번째 글자를 기준으로 오름차순 정렬
function solution(strings, n) {
strings.sort(function(a, b) {
a[n] - b[n]
})
}
이때, n번째의 글자가 같다면, 사전 순으로 정렬
사전 순으로 정렬할 수 있는 메서드로는 localeCompare()이 있습니다.
localeCompare()는 메서드는 배열의 정렬도 가능합니다.
function solution(strings, n) {
strings.sort(function(a, b) {
if(a[n] == b[n]) {
a.localeCompare(b)
} else {
a[n].localeCompare(b[n])
}
})
}
위에 코드를 화살표함수, 3항 연산자로 정리해줍니다.
최종 코드
function solution(strings, n) {
var answer = [];
answer = strings.sort((a, b) => a[n] == b[n] ? a.localeCompare(b) : a[n].localeCompare(b[n]));
return answer;
}
'프로그래머스 > JavaScript' 카테고리의 다른 글
[프로그래머스 JavaScript] Level1 이상한 문자 만들기 (0) | 2020.04.03 |
---|---|
[프로그래머스 JavaScript] Level1 시저 암호 (0) | 2020.04.01 |
[프로그래머스 JavaScript] Level1 자릿수 더하기 (0) | 2019.02.13 |
[프로그래머스 JavaScript] Level1 소수 찾기 (0) | 2019.02.13 |
[프로그래머스 Javascript] Level1 x만큼 간격이 있는 n개의 숫자 (0) | 2019.02.12 |