Lv.1 K번째 수

문제 설명

자료 구조

  • subset

    • 타입 : 배열
    • 저장 데이터 : 주어진 조건대로 array를 잘라낸 부분 배열
  • arrangedSet

    • 타입 : 배열
    • 저장 데이터 : subset을 오름차순 정렬한 배열
  • num

    • 타입 : 정수
    • 저장 데이터 : arrangedSet의 i번째 수

풀이 과정

문제에서 주어진 조건대로, 하라는 대로만 이행하면 된다.

  • command에 맞춰서 array를 잘라낸다.
  • 해당 index의 값들만 배열에 따로 저장한다.

알고리즘 풀이를 할 때 줄 수를 최대한 줄이려고 했는데, 가독성은 안 좋다.
슬슬 가독성 좋게 코드를 짜보려고 한다.

코드 구현(JavaScript)

function solution(array, commands) {
  return commands.reduce((acc, cur) => {
    const subset = array.slice(cur[0] - 1, cur[1]);
    const arrangedSet = subset.sort((a, b) => a - b);
    const num = arrangedSet[cur[2] - 1];
    acc.push(num);
    return acc;
  }, []);
}

출처: 프로그래머스

좋은 웹페이지 즐겨찾기