Programmers/JS
[Programmers/JS] 문자열 내 마음대로 정렬하기
도리닥닥
2022. 8. 7. 15:50
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/12915?language=javascript
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1. 문제 풀이
- strings배열에 sort함수를 적용하여 정렬을 시켜줌.
- n번째 인덱스의 값이 같다면 사전 순으로 정렬해야 하기 때문에 a[n] === b[n] 조건을 만들어 매개변수 a,b를 비교하는 조건문을 하나 추가하였다.
compareFunction의 반환값에 따라 어떻게 정렬될까?
compareFunction이 a, b 두 개의 값을 매개변수로 받을 때
- 반환값이 0보다 작은 경우 a를 b앞에 정렬
- 반환값이 0보다 큰 경우 b를 a앞에 정렬
- 0일 경우 a와 b의 순서를 바꾸지 않음
- 자바스크립트의 sort([compareFunction]) 함수에 대해 공부가 된 문제였던 것 같음.
2. 제출 코드
function solution(strings, n) {
return strings.sort((a,b) => {
if(a[n] == b[n]) {
if(a < b) return -1
}
if(a[n] < b[n]) return -1
})
}