728x90
📍 프로그래머스 1단계 - K번째 수
⚡️ 나의 풀이
JS
로 처음 풀어본 문제인데, 나는 단순 for
문으로 풀었지만 for ~ of
로 풀면 조금 더 깔끔하게 풀 수 있다. 또 slice
는 start, end
인덱스를 잘 계산해야 놓치지 않는다. slice
에서 end
는 포함하지 않는다는 것을 잊지 말자.
추가로 sort
는 element
를 문자열로 취급하여 정렬하기 때문에, 유니코드 순서대로 정렬된다. 따라서 숫자를 정렬하고 싶다면 파라미터를 두 개를 넘겨주고 오름차순은 a-b
, 내림차순은 b-a
하는 과정을 거치자.
// for function solution(arr, commands) { const answer = []; for (let i= 0; i < i.commands.length; i++) { let command = commands[i]; let newArr = arr.slice(command[0] - 1, command[1]); newArr.sort((a, b) => a - b); answer.push(newArr[command[2] - 1]); } return answer; }
// for ~ of function solution(arr, commands) { const answer = []; for (let command of commands) { let newArr = arr.slice(command[0] - 1, command[1]); newArr.sort((a, b) => a - b); answer.push(newArr[command[2] - 1]); } return answer; }
// map함수 function solution(arr, commands) { const answer = []; commands.map((command) => { let newArr = arr.slice(command[0] - 1, command[1]); newArr.sort((a, b) => a - b); answer.push(newArr[command[2] - 1]); }); return answer; }
반응형
'Algorithm > 프로그래머스(Programmers)' 카테고리의 다른 글
[ 자바스크립트(JavaScript) ] 프로그래머스 level1 - 제일 작은 수 제거하기 (0) | 2021.07.23 |
---|---|
[ 자바스크립트(JavaScript) ] 프로그래머스 level1 - 문자열을 정수로 바꾸기 (0) | 2021.07.23 |
[ 파이썬(python) ] 프로그래머스 level2 - 기능 개발 (0) | 2021.07.02 |
[ 파이썬(python) ] 프로그래머스 level1 - 키패드 누르기 (0) | 2021.06.21 |
[ 파이썬(python) ] 프로그래머스 level1 - 소수만들기 (0) | 2021.04.12 |
댓글