[TIL] 카테고리/알고리즘 문제풀기

[자바스크립트] 프로그래머스 Lv.1 K번째수

티레이니 2022. 5. 26. 01:35

 

알고리즘 주차 때 스파르타에서 제공해줬던 문제 리스트를 문제 번호 순으로 풀고있는데,

중간에 번호 하나를 스킵했다는걸 깨닫곤 다시 돌아가 풀었다 ㅎㅎ..

 

문제도 2차원 배열이라 저번 문제보단 난이도가 있긴한거같은데,

뭔가 풀이의 난이도보다도 설명이 좀 알아듣기 어렵게? 적혀있어서

문제 요구사항을 정확히 이해하기 위해 꼼꼼히 읽어주고 시작했다.

 

// 커맨드 배열 구조 : [[시작숫자, 끝낼숫자, 정렬 후에 몇번째 값 뽑을건지 ][…][…]]
// 시작 숫자 : 인덱스 번호가 아니다! 1부터 시작한다!

for (i=0; i<commands.length ;i++) {  //주어진 커맨드 배열 숫자만큼 수행
  //array를 슬라이스해준다. 인덱스는 0부터 시작하니 slice의 시작 인덱스에서는 -1을 해줬다.
  let temp = array.slice(commands[i][0]-1, commands[i][1]); //우선 임시 배열에 넣어둔상태로
  temp.sort((a,b) => (a-b)) // 예쁘게 정렬해주고
  answer.push(temp[commands[i][2]-1]); // 정답 배열에 밀어넣는다!
}

 

그래도 지나온 주차라고.. 역시 문제풀이 자체가 어렵진 않다.

더 예쁘게, 빠르게, 잘 푸는게 관건일 뿐.. 이건 아직 갈길이 먼듯싶다.

 

https://programmers.co.kr/learn/courses/30/lessons/42748

 

코딩테스트 연습 - K번째수

[1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3]

programmers.co.kr