제일 쉬운 '근무 시간' 문제를 도전해봤는데
알아서 입출력을 해주는 프로그래머스와 달리 Node.js로 풀어야해서 그것 때문에 제일 많이 애를 먹었다.
백준으로 연습을 했어야 했나.....그래도 알고리즘 자체는 프로그래머스에서 기초를 잘 닦아둔 게 도움이 되었다.
백준처럼 소프티어도 파일로 데이터를 받는지
rl.close()를 처리하지 않아도 무한 입력 상태에 걸리지 않고 결과값이 잘 뜬다.
모듈이 없다고 에러가 떠서 ES6의 import {createInterface} from 'readline'은 사용할 수 없었다. (어차피 똑같은 기능이지만 편집기가 추천하길래 한번 시도해봤다🤣)
아래는 내가 잊지 않으려고 남겨두는 코드.
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
let input = [];
rl.on('line', function (line) {
input.push(line.split(" ").map(el => el.split(":")).flat().map(v => +v));
}).on('close', function() {
const answer = input.reduce((acc, cur) => {
const [inHour, inMinute, outHour, outMinute] = cur;
const dayTime = (outHour * 60 + outMinute) - (inHour * 60 + inMinute);
return acc + dayTime;
}, 0)
console.log(answer);
process.exit();
})
'코딩테스트 > Softeer 연습 문제' 카테고리의 다른 글
[Javascript] 성적 평균 (0) | 2023.08.04 |
---|---|
[Javascript] 지도 자동 구축 (0) | 2023.08.04 |
[Javascript] 금고 털이 (0) | 2023.08.04 |
[Javascript] 8단 변속기 (0) | 2023.08.03 |
[Javascript] 전광판 (0) | 2023.08.03 |