-
[level1] - k번째수programmers/level1 2020. 4. 1. 22:13
[풀이]
array = [1, 5, 2, 6, 3, 7, 4]
commands = [[2,5,3], [4,4,1], [1,7,3]]
return [5,6,3]
<입출력 예 설명>
[1, 5, 2, 6, 3, 7, 4]를 2번째부터 5번째까지 자른 후 정렬합니다.
[2, 3, 5, 6]의 세 번째 숫자는 5입니다.
[1, 5, 2, 6, 3, 7, 4]를 4번째부터 4번째까지 자른 후 정렬합니다.
[6]의 첫 번째 숫자는 6입니다.
[1, 5, 2, 6, 3, 7, 4]를 1번째부터 7번째까지 자른 후 정렬합니다.
[1, 2, 3, 4, 5, 6, 7]의 세 번째 숫자는 3입니다.for문을 통해 commands의 길이만큼 총 3번 반복하고, slice(start, end)를 이용하여 시작점과 끝점 사이의 해당 수를 자르고, sort()를 통해 오름차순 정렬을 한다.
그러고 나서, answer에 push()를 하여 해당 k번째수를 return 한다.
[code]
function solution(array, commands) { var answer = []; for(var i=0; i<commands.length; i++){ var sliced = array.slice(commands[i][0]-1, commands[i][1]).sort((a, b)=> a-b); answer.push(sliced[commands[i][2]-1]); } return answer; }
'programmers > level1' 카테고리의 다른 글
[level1] - 가운데 글자 가져오기 (0) 2020.04.02 [level1] - 문자열을 정수로 바꾸기 (0) 2020.04.01 [level1] - 같은 숫자는 싫어 (0) 2020.02.28 [level1] - 문자열 다루기 기본 (0) 2020.02.26 [level1] - 두 정수 사이의 합 (0) 2020.02.26