[level 1] K번째수

2022. 1. 29. 21:58·알고리즘/JavaScript

문제

 

풀이 코드

function solution(array, commands) {
  let arr = [];

  for (let i = 0; i < commands.length; i++) {
    arr.push(
      array.slice(commands[i][0] - 1, commands[i][1]).sort((a, b) => a - b)[ commands[i][2] - 1 ]
    );
  }
  return arr;
}

 

풀이 과정

slice 메서드와 sort메서드를 이요해 비교적 쉽게 풀어낼수 있었다,

다만, 내가 풀면서도 가독성이 너무 떨어지는거 같았다.

 

하지만 다른 방법이 도저히 생각나지 않았다, 그래서 다른 사람의 풀이를 봤다.

 

다른사람의

function solution(array, commands) {
    return commands.map(command => {
        const [sPosition, ePosition, position] = command
        const newArray = array
            .filter((value, fIndex) => fIndex >= sPosition - 1 && fIndex <= ePosition - 1)
            .sort((a,b) => a - b)    

        return newArray[position - 1]
    })
}

구조분해 할당을 이용해 보다 직관적으로 분리하여 변수를 사용하셨다,

 

또한 slice가 아닌, filter를 이용하여 간단히 풀이하셨다.

 

가독성을 높이기 위해 기초적인 문법을 더 학습 해야 할거같다.

'알고리즘/JavaScript' 카테고리의 다른 글
  • [level 1] 비밀 지도
  • [level 1] 내적
  • [level 1] 약수의 개수와 덧셈
  • [level 1] 두 개 뽑아서 더하기
Jeohong
Jeohong
기억 보단 기록을
  • Jeohong
    Chikong Devlog
    Jeohong
  • 전체
    오늘
    어제
    • 분류 전체보기 (186)
      • ---- 개발 컨텐츠 ---- (0)
      • iOS (30)
        • Swift 문법 (1)
        • iOS 개념 (12)
        • HIG (5)
        • SwiftUI (7)
        • UIKit (4)
      • Side Project (0)
      • 개발서적 (4)
        • 객체지향 사실과 오해 (4)
      • 알고리즘 (74)
        • 자료구조 개념 (2)
        • Swift (25)
        • JavaScript (47)
      • ---- 회고 계획 컨텐츠 ---- (0)
      • 계획 및 일기 (10)
      • 회고록 (1)
      • 컨퍼런스 탐방 (1)
      • 미드로 영린이 탈출하기 (1)
      • ---- Previous content ---- (0)
      • Frontend (2)
        • HTML & CSS (2)
      • KITRI 수업 (17)
        • 리눅스 (14)
        • 네트워크 (2)
      • 42seoul (17)
        • Bonr2code (9)
        • 넋두리 (7)
        • 멘토특강 (1)
      • 해킹 실습 (20)
        • 해커스쿨 - F.T.Z (19)
        • WebGoat (1)
      • Tensorflow로 시작하는 NLP (1)
        • 예제 (1)
      • 자연어처리 입문 (1)
        • 이론 (1)
      • 텐서플로로 배우는 딥러닝 (7)
        • 이론 (2)
        • 예제 (5)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    42서울
    1서클
    본과정
    네트워크
    프로그래머스
    자료구조
    SwiftUI
    스위프트
    hig
    Algorithm
    swift
    javascript
    boj
    코딩
    알고리즘
    IOS
    개발자
    라피신
    42seoul
    백준
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Jeohong
[level 1] K번째수
상단으로

티스토리툴바