fffo
[코테뿌수기] 정렬 본문
접근
sort 프로토타입 메서드 활용
표준 빌트인 객체인 Array의 프로토타입 메서드 sort의 사용법을 정확히 숙지
Array를 프로토타입상속 받은 객체만 사용할 수 있음에 유의
EcmaScript 2019 이후부터 sort되지 않는 요소를 그대로 두는 sort stability를 보장해줌
연습
[Lv. 1] k번째 수
코딩테스트 연습 - K번째수
[1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3]
programmers.co.kr
function solution(array, commands) {
return commands.map(([i, j, k]) => array.slice(i - 1, j)
.sort((a, b) => a - b)[k - 1]);
}
[Lv. 2] 가장 큰 수
코딩테스트 연습 - 가장 큰 수
0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰
programmers.co.kr
function solution(numbers) {
if (numbers.every(num => num === 0))
return "0";
return numbers.sort((compA, compB) =>
parseInt(String(compB) + String(compA))
- parseInt(String(compA) + String(compB)))
.join("");
}
[Lv. 3] H-Index
코딩테스트 연습 - H-Index
H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표
programmers.co.kr
function solution(citations) {
const sorted = citations.slice().sort((a, b) => b - a);
for (let i = 0; i < sorted.length; i++) {
if (sorted[i] <= i)
return i;
}
return sorted.length;
}
'Programming > Algorithm' 카테고리의 다른 글
[코테뿌수기] 스텍/큐 (0) | 2022.02.08 |
---|---|
[코테뿌수기] hash (0) | 2022.02.06 |
[js문제풀이] 경주로 건설 (0) | 2021.11.05 |
[js문제풀이] 표 편집 (0) | 2021.11.04 |
[js문제풀이] 광고 삽입 (0) | 2021.11.01 |
Comments