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
})
}
'Programmers > JS' 카테고리의 다른 글
[Programmers/JS] 약수의 개수와 덧셈 (0) | 2022.08.10 |
---|---|
[Programmers/JS] 나누어 떨어지는 배열 (1) | 2022.08.07 |
[Programmers/JS] 3진법 뒤집기 (0) | 2022.08.06 |
[Programmers/JS] 자연수 뒤집어 배열로 만들기 (0) | 2022.08.05 |
[Programmers/JS] 2016년 (0) | 2022.08.05 |