문제
https://school.programmers.co.kr/learn/courses/30/lessons/42586
자바스크립트
- 2중 while을 썼는데 실무에서는 보통 while문 사용을 지양하다보니 조금 마음에 걸린다.
function solution(progresses, speeds) {
let nowProgresses = progresses
let nowSpeeds = speeds
let answer = [];
while(nowProgresses.length > 0) {
// 필요한 일자 - 떨어지지 않을 경우 하루가 더 필요하기 때문에 올림
const day = Math.ceil((100 - nowProgresses[0]) / nowSpeeds[0])
// 필요한 일수와 스피드 계산
if (nowProgresses[0] < 100) {
for (let i = 0; i < nowProgresses.length; i ++) {
nowProgresses[i] += day * nowSpeeds[i]
}
}
// 완료된 작업 수 카운트
let cnt = 0;
while (nowProgresses.length > 0 && nowProgresses[0] >= 100) {
cnt += 1;
nowProgresses.shift();
nowSpeeds.shift();
}
answer.push(cnt)
}
return answer;
}
'PS (Problem Solving) > Programmers' 카테고리의 다른 글
[프로그래머스] 오픈 채팅방 - 자바스크립트, 파이썬 (0) | 2024.11.08 |
---|---|
[프로그래머스] 전화번호 목록 - 자바스크립트 (0) | 2024.11.04 |
[프로그래머스] 카드 뭉치 - 자바스크립트 (0) | 2024.10.21 |
[프로그래머스] 크기가 작은 부분문자열 (0) | 2024.10.18 |
[프로그래머스] 괄호 회전하기 - 자바스크립트 (0) | 2024.10.15 |