반응형
문제 해결
1. 큐/스택을 활용하는 문제!
2. 현재 진행 상황(progresses) 에 각각 속도(speeds)를 더해준다.
3. 뒤에있는 기능이 앞의 기능보다 먼저 개발 돼도 배포가 불가능
(1) 맨 앞의 기능부터 확인해 준다.
(2) 맨 앞의 기능이 개발 완료 됐다면 배포한다(배열에서 제거한다.)
(3) 개발 완료 되지 않았다면 2번으로 간다
🌤 큐/스택을 활용하는 문제
splice를 이용했는데 pop과 shift라는 메소드가 존재하는 것을 알게 됐다.
🛴 pop. shift
var arr = [1,2,3,4,5]
arr.pop()
console.log(arr) // [ 1, 2, 3, 4 ]
arr.shift()
console.log(arr) // [ 2, 3, 4 ]
pop은 배열의 마지막에 있는 값을 제거 하여 반환, shift는 배열의 처음에 있는 값을 제거하여 반환한다.
소스 코드
function solution(progresses, speeds) {
var answer = [];
while (progresses.length > 0) {
var cnt = 0
for (let i = 0; i < progresses.length; i++) {
progresses[i] += speeds[i]
}
while (1) {
if (progresses[0] >= 100) {
// progresses.splice(0, 1)
// speeds.splice(0, 1)
progresses.shift()
progresses.shift()
cnt ++
} else {
break
}
}
if (cnt > 0) {
answer.push(cnt)
}
}
return answer;
}
console.log(solution([93,30,55] ,[1,30,5] ))
출처: 프로그래머스
문제: https://programmers.co.kr/learn/courses/30/lessons/42586
반응형
'Algorithm Problem > JavaScript' 카테고리의 다른 글
[JavaScript] 프로그래머스 - 프린터 (0) | 2020.07.28 |
---|---|
[JavaScript] 프로그래머스 - 영어 끝말잇기(Summer/Winter Coding(~2018)) (0) | 2020.07.26 |
[JavaScript] 프로그래머스 - 체육복 (0) | 2020.07.25 |
[JavaScript] 프로그래머스 - 문자열을 정수로 바꾸기/ 서울에서 김서방찾기/ 같은 숫자는 싫어/ 문자열 내 p와 y의 개수 (0) | 2020.07.23 |
[JavaScript] 프로그래머스 - K번째수 (0) | 2020.07.22 |