반응형
1. 문제
https://school.programmers.co.kr/learn/courses/30/lessons/12915
2. 설명
문자열을 정렬하는 문제이기 때문에 sort()를 사용한다.
먼저 sort() 구현방식을 살펴보자.
숫자의 오름차순 정렬, 내림차순 정렬을 살펴보자.
const arr = [22, 11, 2, 9, 1, 5];
arr.sort((a, b) => a - b);
//내림차순
arr.sort((a, b) => b - a);
문자열의 오름차순 정렬, 내림차순 정렬을 살펴보자.
const arr = ['kiwi', 'apple', 'melon', 'grape', 'banana'];
arr.sort();
// 내림차순
arr.sort(function (a, b) {
if (a > b) return -1;
else if (b > a) return 1;
else return 0;
});
이 문제에서는 n번째 인덱스를 기준으로 정렬을 해야하기 때문에,
a.charAt(n)과 b.charAt(n)을 비교해준다.
만약 a.charAt(n)이 b.charAt(n)보다 사전순으로 뒤에 있다면 1을, 반대라면 -1을 리턴한다.
만약 두 값이 같으면 알파벳 사전순으로 정렬해야하므로 a가 b보다 크면 1을, 반대라면 -1을 리턴하여 정렬해준다.
3. 코드
function solution(strings, n) {
let newStr = strings.sort((a,b) => {
if(a.charAt(n) > b.charAt(n)){
return 1;
}
if(a.charAt(n) < b.charAt(n)){
return -1;
}else{
return a > b ? 1:-1;
}
})
return newStr;
}
}
반응형
'프로그래머스 > 구현' 카테고리의 다른 글
[문자열] 프로그래머스 'JadenCase 문자열 만들기' - js (0) | 2022.10.18 |
---|---|
[문자열] 프로그래머스 '문자열 내 p와 y의 개수' - js (0) | 2022.10.13 |
[문자열] 프로그래머스 '문자열 다루기 기본' - js (0) | 2022.10.13 |
[구현] 프로그래머스 '나머지가 1이 되는 수' - js (0) | 2022.10.05 |
[문자열 ] 프로그래머스 '하샤드 수' - js (0) | 2022.10.05 |