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 |
Tags
- 백준 js
- 프로그래머스 데브코스
- Vue3 Router
- 프로그래머스 K_Digital Training 프론트엔드
- 프로그래머스 데브코스 프론트엔드 TIL
- 모던 javascript Deep Dive
- 개발자 특강
- 프로그래머스 K_Digital Training
- KDT 프로그래머스
- 프로그래머스 데브코스 프론트엔드
- useRef 지역 변수
- 모던 자바스크립트 TIL
- Frontend Roadmap
- K_Digital Training
- 리팩토링 회고
- 머쓱이
- 백준 node.js
- 투포인터알고리즘 js
- TypeScript 문법 소개
- 인프런 자바스크립트 알고리즘 문제풀이
- 모던 자바스크립트 딥다이브
- react customHook 예시
- 모던 자바스크립트 Deep Dive
- react 프로젝트 리팩토링
- frontend roadmap study
- KDT 프로그래머스 데브코스 프론트엔드
- 모던 자바스크립트 Deep Dive TIL
- 우테캠 회고록
- Vue3
- useEffect return
Archives
- Today
- Total
프론트엔드 개발자의 기록 공간
[백준 node.js] 11399번_ATM 본문
백준 그리디 알고리즘 11399번_ATM
난이도 : 실버III
문제 설명
입출력
문제 풀이 : 인출 시간의 최솟값을 구하는 것이 핵심이다. 최솟값을 구할려면 해당 줄을 오름차순 정렬을 우선적으로 해주고 반목문을 통해 누적값을 카운트 해주면된다.
function solution(n, list) {
//js sort는 ASCII 문자 순서로 정렬되어 숫자의 크기대로 나오지 않음
list.sort(function(a, b) { // 오름차순
return a - b;
});
let count = 0;
for(let i=0; i<n; i++){
for(let j=0; j<=i; j++){
count += list[j];
}
}
console.log(count);
}
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let input = [];
rl.on("line", function (line) {
//여러줄 입력
input.push(line)
}).on("close", function () {
let n = parseInt(input[0]);
//띄어쓰기 기준으로 배열에 넣기
let list = input[1].split(' ').map((el) => parseInt(el));
solution(n, list);
process.exit();
});
* 분명히 맞는 로직이고 다른분들 코드를 비교해도 맞았는데 제출하면 틀렸다고 떠서 뭐가 문제인지 계속 찾아보고 고민해봤다. 그 결과 JS에 sort(정렬 함수)는 ASCII 문자가 정렬 기준이여서 저렇게 해줘야만 제대로된 오름차순이 되는 것을 알 수 있었다.
728x90
'알고리즘_JS > 백준_Greedy' 카테고리의 다른 글
[백준 node.js] 2217번_로프 (0) | 2020.12.25 |
---|---|
[백준 node.js] 5585번_거스름돈 (0) | 2020.12.25 |
[백준 node.js] 1931번_회의실배정 (0) | 2020.12.25 |
[백준 node.js] 11047번_동전 0 (0) | 2020.12.18 |
[백준 node.js] 2839번_설탕 배달 (0) | 2020.12.18 |
Comments