[프로그래머스 알고리즘 고득점 Kit] 문제풀이 - 정렬💜 코딩테스트/문제풀이2024. 7. 23. 08:54
Table of Contents
1. K번째 수
https://school.programmers.co.kr/learn/courses/30/lessons/42748
1-1. 내 풀이
slice 를 사용하여 item[0] 번째부터 item[1] 까지 자른 후, sort 를 사용하여 오름차순 정렬을 하고 item[2] 번째에 있는 수를 반환하였다.
function solution(array, commands) {
return commands.map((item)=>{
return array.slice(item[0]-1,item[1]).sort((a,b)=>a-b)[item[2]-1]
})
}
2. 가장 큰 수
https://school.programmers.co.kr/learn/courses/30/lessons/42746
2-1. 내 풀이
배열에 있는 숫자를 문자열로 바꾼 후, 옆에 있는 수를 이어붙여 큰 값 기준으로 내림차순 정렬을 하고 배열을 문자열로 만들어 반환했다. 그러나 이렇게 했을 경우 테스트 케이스 통과하지 못하는 게 있어 힌트를 보았더니 numbers 가 모두 0 인 배열인 예외 케이스가 있어 결과의 맨 앞이 0 인 경우에는 그냥 문자열 0 을 반환했다.
function solution(numbers) {
numbers = numbers.map((item)=>item.toString());
const result = numbers.sort((a,b) => (a+b) >= (b+a) ? -1 : 1).join('');
return result[0] === '0' ? '0' : result;
}
3. H-Index
https://school.programmers.co.kr/learn/courses/30/lessons/42747
3-1. 내 풀이
사실 문제 자체를 이해하지 못해 구글링을 통해 다른 사람들의 풀이를 보고 풀었다.
function solution(citations) {
citations.sort((a,b)=>b-a);
for(i=0; i<citations.length; i++) {
if(citations[i] <= i) break;
}
return i;
}
'💜 코딩테스트 > 문제풀이' 카테고리의 다른 글
[프로그래머스 알고리즘 고득점 Kit] 문제풀이 - 완전탐색 (0) | 2024.08.04 |
---|---|
[프로그래머스 알고리즘 고득점 Kit] 문제풀이 - 스택 / 큐 (0) | 2024.07.21 |
[프로그래머스 알고리즘 고득점 Kit] 문제풀이 - 해시 (0) | 2024.07.19 |
[프로그래머스 1단계] 문제풀이 #5 (0) | 2024.06.15 |
[프로그래머스 1단계] 문제풀이 #4 (0) | 2024.06.11 |
@짱잼 :: 짱잼이의 FE 개발 공부 저장소
FE 개발자가 되고 싶은 짱잼이
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!