정렬 [Programmers]

자몽·2021년 7월 31일
1

알고리즘

목록 보기
5/31

알고리즘: 정렬

https://programmers.co.kr/learn/courses/30/parts/12198

k번째 수 (level.1)

function solution(array, commands) {
    var answer = [];
    for (let i = 0; i < commands.length; i++) {
        answer.push(array.slice(commands[i][0] - 1, commands[i][1]).sort((a, b) => a - b)[commands[i][2] - 1])
    }
    return answer;
}

가장 큰 수 (level.2)

문자열 비교 시에 '10'>'1' 이 true값이 나오는 문제가 있었는데,
이는 sort시에 각 요소를 더한 값을 비교하므로써 해결했다.

function solution(numbers) {
    let answer = '';
    const numbersToString = numbers.map(num => String(num))
    numbersToString.sort((a, b) => (b + a) - (a + b))
    answer = numbersToString.join('')
    return answer[0] === '0' ? '0' : answer;
}

H-Index (level.2)

function solution(citations) {
    let answer = 0;
    let count = 0;
    citations = citations.sort((a, b) => a - b)
    for (let i = citations.length - 1; i >= 0; i--) {
        count++;
        if (count <= citations[i]) {
            answer = count
        }
    }
    return answer;
}
profile
꾸준하게 공부하기

0개의 댓글