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 | 31 |
Tags
- 배열같은배열아닌너
- 동적계획법
- 1668
- 9461
- 함수 parmater
- 11047
- 호이스팅
- 함수 arguments
- 1931
- 함수 이놈
- 비동기처리
- 유사배열
- 자류구조
- 탐욕 알고리즘
- html5
- 2667
- 함수 선언문
- 렉시컬 스코프
- 11399
- 1543
- baekjoon
- Async/Await
- 1904
- setTiemOut
- javascript
- 백준
- event loop
- 1236
- 1568
- 1302
Archives
- Today
- Total
두치의 개발공부
BaekJoon_11399(ATM) 본문
문제풀이
탐욕 알고리즘을 적용하여 풀면 문제를 해결 할 수 있다.
지금 당장 시간이 가장 적게 걸리는 사람의 순서를 앞으로 하여 기다리는 시간을 최소화 하면 총 걸리는 시간을 최소화 할 수 있다.
처음에 문제를 풀 때는 각각의 사람이 기다린 시간과 소요되는 시간을 배열에 넣어서 제일 마지막에 더하는 방법으로 풀었고,
두번째에는 다른 사람들이 푼 풀이를 보니 이중 for문으로 간략하게 풀었길래 좀 더 좋은 풀이인 거 같아 참고하여 풀어봤는데
메모리와 소요시간이 첫번째 풀이가 좀 더 효율적이었다.
아마 이중 for문을 사용하여 메모리와 시간이 좀 더 걸리는 거 같다.
내가 푼 풀이가 더 효율적일 수 있다니 좀 뿌듯하다 😃
코드
첫번째 풀이
const answer = ([n, arr]) => {
const time = arr.split(' ').map(Number).sort((a, b) => a - b);
const totalTime = [];
let sumTime = 0;
for (let index = 0; index < time.length; index++) {
sumTime += time[index];
totalTime.push(sumTime);
}
console.log(totalTime.reduce((a,b) => a+b,0));
}
const input = [];
require("readline")
.createInterface(process.stdin, process.stdout)
.on("line", (line) => {
input.push(line);
})
.on("close", () => {
answer(input);
process.exit();
});
두번째 풀이
const answer = ([n, arr]) => {
const time = arr.split(' ').map(Number).sort((a, b) => a - b);
let sumTime = 0;
for (let index = 0; index < time.length; index++) {
for (let index2 = 0; index2 < index + 1; index2++) {
sumTime += time[index2]
}
}
console.log(sumTime);
}
const input = [];
require("readline")
.createInterface(process.stdin, process.stdout)
.on("line", (line) => {
input.push(line);
})
.on("close", () => {
answer(input);
process.exit();
});
코드는 깃헙에서도 확인 할 수 있습니다. 🤗
https://github.com/duduchi/Algorithm/tree/main/Greedy
'알고리즘' 카테고리의 다른 글
BaekJoon_1931(회의실 배정) (0) | 2022.05.10 |
---|---|
BaekJoon_11047(동전) (0) | 2022.05.09 |
BaekJoon_1932(정수 삼각형) (0) | 2022.05.03 |
BaekJoon_1149(RGB 거리) (0) | 2022.05.03 |
BaekJoon_9461 (파도반 수열) (0) | 2022.04.30 |