강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

서원혁님의 프로필 이미지
서원혁

작성한 질문수

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

12. 마구간 정하기(결정알고리즘)

문제 풀이 마구간정하기

작성

·

206

0

function solution(target,array){
 array.sort((a,b)=>a-b);
 let left = 1;
 let right = array[array.length-1];
 let answer
 while(left<=right){
     let mid = Math.floor((left+right)/2);
     let cnt = 1;
     let start = array[0];
     let result =[]
     for(let  i=1; i<array.length; i++ ){
         let between =array[i]- start;
         if(mid<=between){
             cnt++;
             result.push(between)
             start = array[i];
         }
     }
     if(target === cnt){
        answer = Math.min(...result);
        break
     }else if(target<cnt){
        left = mid +1;
     }else{
        right = mid -1;
     }
 }
 return answer;
}
 
이런식으로 풀어도 괜찮을까요?
 

퀴즈

선택 정렬 알고리즘의 핵심 과정은 무엇일까요?

인접한 두 요소를 비교하여 순서가 맞지 않으면 교환합니다.

정렬되지 않은 부분에서 가장 작은 값을 찾아 정렬된 부분의 올바른 위치로 옮깁니다.

배열을 반으로 나누고 각 부분을 재귀적으로 정렬한 후 병합합니다.

하나의 요소를 정렬된 하위 배열의 올바른 위치에 삽입합니다.

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

네. 잘 하신 코드입니다.

서원혁님의 프로필 이미지
서원혁

작성한 질문수

질문하기