문제
풀이
문제를 생각해보면 박스 포장 후 나가는 사람들의 자료구조는 Queue를 사용하고 있음을 알 수 있습니다.
첫번째 사람의 박스 갯수와 뒤의 사람 박스 갯수를 비교해서 Max값을 구하면 코드를 작성하는 건 쉽습니다.
Javascript 코드
function paveBox(boxes) {
let ans = [];
while(boxes.length > 0){
let findIdx = boxes.findIndex(item=>boxes[0] < item);
if(findIdx === -1){
ans.push(boxes.length);
boxes.splice(0);
}else{
ans.push(findIdx)
boxes.splice(0, findIdx)
}
}
return Math.max(...ans);
}
- 특정 조건을 만족하는 Index를 찾기 위해 Array.prototype.findIndx() 함수를 사용합니다.
- 조건을 만족하지 못하면 -1을 반환합니다.
- ans 배열에 검색된 Index를 push 해줍니다.
- 인덱스를 찾으면 Array.prototype.splice() 함수로 배열을 잘라줍니다.
- ans 배열 중 Math.max() 함수로 최대값을 구해서 반환합니다.
🚀️ 도움이 되셨다면 구독과 좋아요 부탁드립니다 👍️
'Algorithm' 카테고리의 다른 글
프로그래머스 완주하지 못한 선수 해시 맵 사용 풀이 파이썬 (0) | 2023.03.22 |
---|---|
Queue 알고리즘 프린터 문제 (0) | 2022.10.13 |
코딩 테스트 알고리즘 공부 방법 순서 정리 (0) | 2022.10.11 |
[Stack] 웹 브라우저 뒤로가기 앞으로가기 문제 (0) | 2022.10.11 |
[Algorithm] 벨만-포드 알고리즘 (Bellman-Ford) Node.js (0) | 2022.08.05 |
댓글