1. 문제
programmers.co.kr/learn/courses/30/lessons/42586?language=javascript
코딩테스트 연습 - 기능개발
프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는
programmers.co.kr
2. 접근 방법
파이썬으로 풀 때는 progresses 기준으로 확인했는데,
이번에는 날짜를 기준으로 확인했다.
1. 현재 날짜에 맨 앞에 있는 작업이 완료되는지
2. 완료된다면: 언제까지 완료되는지 하나씩 확인
3. 완료되지 않는다면: 완료된 항목이 있는지 확인
3-1. 완료된 항목이 있다면: 현재까지 완료된 항목의 갯수를 push
3-2. 완료된 항목이 없다면: 그냥 pass
3. 코드
Javascript
function solution(progresses, speeds) {
var answer = [];
let idx=0;
let cnt=0;
for (let i=1; i<100; i++) {
let progress = progresses[idx]+(i*speeds[idx])
while (progress>=100) {
cnt ++;
idx ++;
progress = progresses[idx]+(i*speeds[idx])
}
if (cnt > 0) {
answer.push(cnt);
}
cnt = 0;
if (idx === progresses.length) {
return answer;
}
}
return answer;
}
4. 마치며
javascript는 왜 .. append가 아니라 push인거죠 ㅠ
'Algorithm > JavaScript' 카테고리의 다른 글
[프로그래머스] 오픈채팅방 (0) | 2021.05.08 |
---|---|
[프로그래머스] 문자열 압축 (0) | 2021.05.07 |
[프로그래머스] 짝수와 홀수 (0) | 2021.05.07 |
[프로그래머스] 자릿수 더하기 (0) | 2021.05.07 |
[해시] 완주하지 못한 선수 (0) | 2021.05.07 |