[JS 알고리즘] 프로그래머스 K번째 수
2021. 9. 16. 12:53ㆍdev
https://programmers.co.kr/learn/courses/30/lessons/42748?language=javascript
📍 문제
📍 풀이
사용한 메소드는 다음과 같다.
- slice(start, end): start 인덱스부터 end 인덱스 이전까지 슬라이싱한 배열 반환
- sort: 정렬메소드
- push: 배열 오른쪽으로 원소 추가됨
코드 작성은 어렵지않은데, sort() 정렬부분에서 주의할점이 있다. 만약 다음과같이 sort()만 해주면 오류가 날것이다.
왜냐하면 자바스크립트는 기본적으로 유니코드 문자열을 비교해서 정렬하기 때문에 우리가 원하는 숫자 오름차순 정렬이 나오지 않게된다. 따라서 sort함수 안에 정렬순서를 정의해줘야한다. 다음과 같이 수정해준다.
정렬문 작성시, 자바스크립트는 compareFunction을 꼭 따로 만들어줘야한다!!
📍 전체 코드
function solution(array, commands) {
var answer = [];
for(var i=0; i<commands.length;i++){
var new_array = array.slice(commands[i][0]-1, commands[i][1]).sort((a, b) => {return a-b});
answer.push(new_array[commands[i][2]-1]);
}
return answer;
}
'dev' 카테고리의 다른 글
[React] Suspense, 비동기 작업의 새로운 접근법 (1) | 2024.06.17 |
---|---|
javascript 스프레드 연산자 알아보기 (0) | 2024.01.29 |
[프로그래머스] 비밀지도 Python (카카오 기출) (0) | 2021.09.09 |
Python 딕셔너리를 튜플 리스트로 변환 (0) | 2021.09.07 |
[프로그래머스] 튜플 Python (카카오 기출) (0) | 2021.09.07 |