Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 소수찾기
- 완주하지 못한 선수
- 다리를 지나는 트럭
- Javascript
- 주식
- hash
- 디스크 컨트롤러
- k번째수
- Stack
- 이중우선순위큐
- react-native
- Brute Force
- Algorithm
- react-native bind
- react-native-navigation
- browser workflow
- 넓이우선탐색
- Data Structure
- 전화번호 목록
- heap
- Queue
- 타겟 넘버
- 가장 큰 수
- Virtual DOM
- 기능개발
- Programmers
- sorting
- react
- 더 맵게
- 깊이우선탐색
Archives
- Today
- Total
개발 블로그
[프로그래머스/Javascript/Stack+Queue] 기능개발 본문
1. 문제설명(출처: programmers.co.kr/learn/courses/30/lessons/42586)
2. 문제풀이
1) 시간 순서에 따라서 배포되는 기능의 갯수를 저장하기 위해 answer이라는 stack을 생성한다.
2) 개발중인 기능의 갯수만큼 아래의 명령을 반복한다.
2-1) 배포할 기능의 갯수를 저장할 cnt 변수를 생성한다.
2-2) 각각의 기능에 대하여 개발 속도만큼 개발을 진행한다.
2-3) 먼저 배포되어야할 기능이 배포준비가 완료되었다면, 아직 배포준비가 안된 기능이 나올 때까지 아래의 명령을 반복한다.
2-3-1) 현재 작업을 배포한다.
2-3-2) 현재 작업을 종료한다.(더 이상 개발하지 않음)
2-3-3) 배포할 기능의 갯수에 1을 더해준다.
2-4) 배포할 기능이 있는지 확인한다.
2-4-1) 배포할 기능이 있다면 배포할 기능의 갯수를 answer에 push한다.
3) 결과 반환
3. 결과코드
function solution(progresses, speeds) {
var answer = [];
while(progresses.length){
let cnt = 0
progresses = progresses.map((progresses, i) => progresses + speeds[i])
while(progresses[0] >= 100){
progresses.shift()
speeds.shift()
cnt += 1
}
if(cnt != 0){
answer.push(cnt)
}
}
return answer;
}
'IT > Programmers' 카테고리의 다른 글
[프로그래머스/Javascript/Sorting] K번째수 (0) | 2021.04.07 |
---|---|
[프로그래머스/Javascript/Queue] 프린터 (0) | 2021.04.07 |
[프로그래머스/Javascript/Stack] 주식가격 (0) | 2021.04.06 |
[프로그래머스/Javascript/Queue] 다리를 지나는 트럭 (0) | 2021.04.05 |
[프로그래머스/python/Heap] 더 맵게 (0) | 2021.04.05 |