개발후라이
개발후라이
개발후라이
  • 분류 전체보기 (285)
    • Web Front End (74)
      • Javascript & Typescript (26)
      • React (11)
      • Vue (4)
      • Nodejs (1)
      • HTML (6)
      • CSS (7)
      • HTTP (6)
      • 책 - Review (8)
    • TIL (0)
    • Problem Solved (135)
      • 알고리즘 (4)
      • BOJ (67)
      • Programmers (8)
      • HackerRank (33)
      • LeetCode (23)
    • 회고 (4)
      • 오늘의 회고 (16)
      • 주간 회고 (15)
      • 월간 회고 (7)
      • WakaTime (9)
    • Git (3)
    • 기타 (15)
      • 취업 (5)
      • 자격증 (1)

블로그 메뉴

  • GitHub
  • LinkedIn
  • 홈

인기 글

태그

  • 오늘의회고
  • 자바스크립트
  • 프론트엔드
  • 회고
  • 노마드북클럽
  • 노개북
  • JavaScript
  • TypeScript
  • 릿코드
  • 개발자

최근 댓글

최근 글

전체 방문자
오늘
어제

티스토리

hELLO · Designed By 정상우.
개발후라이

개발후라이

Problem Solved/Programmers

[Programmers][Javascript] K번째수

2020. 1. 15. 14:09
반응형

문제

[Programmers][Javascript] K번째수

문제 설명

배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하는 문제

commands 배열에 조건이 다 들어있다.
commands 배열 하나마다 slice 시작, 끝, 정렬 후 인덱스 위치까지 제공되어 있다.
단, 문제에서 말하는 인덱스와 배열에서 쓰이는 인덱스가 다르니 주의해야 한다.
나는 최대한 고차함수로 풀어보려고 했다.
근데 역시 forEach 말고 map으로도 충분히 가능했다. 성공 코드 1번은 내 풀이이고, 2번은 다른사람 풀이이다.

성공 코드

function solution(array, commands) {
    var answer = [];

    commands.forEach(element => {
        answer.push(array.slice(element[0] - 1, element[1]).sort((a, b) => a - b)[element[2] - 1]);
    });

    return answer;
}

이렇게도 풀 수 있다.

function solution(array, commands) {
    return commands.map(v => {
        return array.slice(v[0] - 1, v[1]).sort((a, b) => a - b).slice(v[2] - 1, v[2])[0];
    });
}
반응형
저작자표시
    'Problem Solved/Programmers' 카테고리의 다른 글
    • [Programmers][Javascript] 12903번 - 가운데 글자 가져오기
    • [Programmers][Javascript] 가장 큰 수
    • [프로그래머스][Javascript] 문자열 압축
    • [프로그래머스][Javascript] 완주하지 못한 선수
    개발후라이
    개발후라이
    어제보다 오늘 발전하기 위한 공간 https://github.com/choisohyun

    티스토리툴바