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 |
Tags
- 모던 자바스크립트 Deep Dive TIL
- 인프런 자바스크립트 알고리즘 문제풀이
- Frontend Roadmap
- TypeScript 문법 소개
- 백준 js
- useRef 지역 변수
- useEffect return
- 모던 자바스크립트 TIL
- K_Digital Training
- 리팩토링 회고
- 프로그래머스 데브코스 프론트엔드 TIL
- Vue3
- 프로그래머스 K_Digital Training 프론트엔드
- KDT 프로그래머스
- KDT 프로그래머스 데브코스 프론트엔드
- 모던 자바스크립트 Deep Dive
- 프로그래머스 K_Digital Training
- 백준 node.js
- 투포인터알고리즘 js
- 머쓱이
- 모던 자바스크립트 딥다이브
- 개발자 특강
- react 프로젝트 리팩토링
- Vue3 Router
- react customHook 예시
- 프로그래머스 데브코스
- 프로그래머스 데브코스 프론트엔드
- 모던 javascript Deep Dive
- frontend roadmap study
- 우테캠 회고록
Archives
- Today
- Total
프론트엔드 개발자의 기록 공간
[프로그래머스 JavaScript] 기능개발 본문
🚩 프로그래머스 Level2 짝지어 제거하기
📖 문제 설명
progresses(작업진도) + speeds(작업속도) = 진행률입니다.
진행률이 100%가 되면 배포가 진행되는데 이때 배포되는 기능의 수를 각 단계마다 저장하면된다.
주의할점은 앞에 기능이 배포가 되어야지만 뒤에가 배포가 됩니다.
👉 소스 코드 ⏰시간복잡도 O(n^2)
function solution(progresses, speeds) {
var answer = [];
//배포된 기능의 수
let deploy = 0;
//모든 작업이 끝날때까지
while(progresses.length > 0){
//진행률 계산
for(let i=0; i<progresses.length; i++){
//작업진도 + 작업속도 = 진행률
progresses[i] += speeds[i];
}
while(true){
//제일 앞에있는 기능이 완료된 상태면 배열에서 제거
if(progresses[0] >= 100){
deploy +=1;
progresses.shift();
speeds.shift();
}
//아직 완료되지 않은 상태
else{
//앞에 완료된 작업이있으면 개수 삽입후 종료
if(deploy !==0){
answer.push(deploy);
}
deploy = 0;
break;
}
}
}
return answer;
}
👨💻 코드 설명
step1. progresses 배열길이가 0이상일때까지 반복 (배포가 수행되면 해당 기능 삭제하기 때문에)
step2. 반복문을 통해 한번의 작업을 수행해준다. (작업진도+작업속도)
step3. 한번 작업 수행 후, 배포 조건이 만족되면 배포기능+1 해준 뒤, 각각의 배열값을 없애준다.
3-1 배포 조건이 만족안되면 배포된 기능까지 저장후 break로 반복문 탈출해준다.
step4. 위의 과정을 반복한다.
728x90
'알고리즘_JS > 프로그래머스_Level2' 카테고리의 다른 글
[프로그래머스 JavaScript] 조이스틱 (0) | 2021.07.22 |
---|---|
[프로그래머스 JavaScript] 타켓 넘버 (0) | 2021.07.22 |
[프로그래머스 JavaScript] 오픈채팅방 (0) | 2021.07.22 |
[프로그래머스 JavaScript] 짝지어 제거하기 (0) | 2021.07.21 |
[프로그래머스 JavaScript] 124 나라의 숫자 (0) | 2021.07.21 |
Comments