안녕하세요
[node.js] 11399 ATM (자바스크립트) 본문
ATM 문제 보기
문제 요약
ATM 기계를 이용하기 위해 2,1,3 분씩 걸리는 사람들이 있다.
1,2,3 순서대로 줄을 서면
1은 1분
2는 1+2분
3은 1+2+3분
1,2,3 각각이 소요하는 시간의 총합은 10분이 된다.
3,2,1 순서대로 줄을 서면
3은 3분
2는 3+2분
1은 3+2+1분
총합14분
걸리는 시간을 최소로 한 시간의 총합을 출력하시오.
문제 풀이
1) 오름차순으로 줄을 세운다.
const timeArray = timeString.split(" ").map(Number);
timeArray.sort((a, b) => a - b);
2) 맨 앞의 사람이 걸린 시간 * 남은 사람의 수 만큼의 시간을 더해나간다.
=> 맨 앞의 사람이 ATM 이용을 마쳤으면 남은 사람들에게 똑같이 반복한다.
=> 마지막 사람까지 반복한다.
let count = 0;
timeArray.forEach((time, index) => count += time * (number - index));
3) 총 합을 출력한다.
console.log(count)
const [number, timeString] = require("fs").readFileSync("dev/stdin").toString().split("\n");
const timeArray = timeString.split(" ").map(Number);
timeArray.sort((a, b) => a - b);
let count = 0;
timeArray.forEach((time, index) => count += time * (number - index));
console.log(count)
'백준 자바스크립트' 카테고리의 다른 글
[node.js] 25304 영수증 (자바스크립트) (0) | 2022.08.21 |
---|---|
[node.js] 3003 킹퀸룩비숍나이트폰 (자바스크립트) (0) | 2022.08.21 |
[node.js] 17478 재귀함수가 뭔가요? (자바스크립트) 재귀 단계 (0) | 2022.06.28 |
[node.js] 10870 피보나치 수 (자바스크립트) 재귀와 반복문 차이 (0) | 2022.06.25 |
[node.js] 10872 팩토리얼 (자바스크립트) 재귀 단계 (0) | 2022.06.24 |