프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
😉문제 풀이 설명
이 문제는 이분탐색 문제 입니다.
이분 탐색 문제를 많이 접하지 않아서 이분 탐색 문제임을 알아차리는게 어려웠습니다.
1부터 2억까지 숫자 중 하나의 값을 찾는 문제임을 캐치 한다면 이분 탐색으로 접근하는 방법을 떠올리지 않았을 까 생각합니다.
이분 탐색임을 인지한다면 문제 자체가 어렵진 않습니다.
아래의 코드를 확인해 주세요
😎문제 풀이 코드
function solution(stones, k) {
let str = 1;
let end = 200000000;
while(str !== end){
const mid = Math.floor((str+end)/2)
let is_foward = true;
let cnt = 0;
for(let stone of stones){
if(stone <= mid) cnt++
else cnt = 0;
if(cnt >= k){
is_foward = false;
break;
}
}
if(is_foward) str = mid+1
else end = mid
}
return str;
}
반응형
'개발관련 > 프로그래머스' 카테고리의 다른 글
[프래그래머스 알고리즘] 보석쇼핑 JavaScript JS (0) | 2023.09.02 |
---|---|
[프로그래머스 알고리즘] 불량 사용자 JavaScript JS (0) | 2023.08.30 |
[프로그래머스 알고리즘] 스티커모으기(2) JavaScript JS (0) | 2023.08.30 |