문제
https://school.programmers.co.kr/learn/courses/30/lessons/42586
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드
내 풀이
function solution(progresses, speeds) {
const answer = [];
let idx=0;
while(idx!==progresses.length){
for(let i=0; i<progresses.length; i++){
progresses[i]+=speeds[i];
}
if(progresses[idx]>=100){
let cnt=1;
for(let i=idx+1; i<=progresses.length; i++){
if(progresses[i]<100 || i===progresses.length){
idx=i;
break;
}
cnt++;
}
answer.push(cnt);
}
}
return answer;
}
다른 사람 풀이
function solution(progresses, speeds) {
const answer = [];
const days = progresses.map((progress, index) =>
Math.ceil((100 - progress) / speeds[index])
);
let count = 1;
let maxDay = days[0];
for (let i = 1; i < days.length; i++) {
if (days[i] <= maxDay) {
count++;
} else {
maxDay = days[i];
answer.push(count);
count = 1;
}
}
answer.push(count);
return answer;
}
이 풀이가 더 깔끔하고 트렌디한 것 같다.. 더 분발해야겠다
참조
'Programmers' 카테고리의 다른 글
| [프로그래머스] 체육복 (JS) - 배열에서 원소 삭제하기, splice, filter (0) | 2023.11.13 |
|---|---|
| [프로그래머스] 올바른 괄호 (JS) (0) | 2023.11.12 |
| [프로그래머스] 같은 숫자는 싫어 (JS) (0) | 2023.11.12 |
| [프로그래머스] 가장 큰 수 (JS) - sort (0) | 2023.11.11 |
| [프로그래머스] K번째수 (JS) - sort (0) | 2023.11.10 |