오븐 시계 - javascript
문제 (출처)
👉https://www.acmicpc.net/problem/2525
나의 접근
-
우선 몇일간 블로그 포스팅을 못하였다.
이유는 나의 나태함이다...(사실 코로나도 걸렸다고!! 너무해) 여튼 집에서 쉬었던건 사실이니, 다시 꾸준히 작성해야겠다. -
먼저 갑자기 문제 수준이 굉장히 낮아졌는데;; 사실은 너무 어려워 매번 정답만 보면서 푸는 것이 맞는 라는 생각하여
단계별로 풀기로 하였다. 해당 방법은 라매개발자님의 채널을보고 프론트엔드 개발자 코딩테스트 준비 방법을 기초로 따라해본다.
만약 잘안되면 다 라매개발자님 탓이다!!! 너무해!! -
각설하고 해당 문제는 사실 백준 node.js 입력 값을 가져오는것이 더 어렵긴했다...
해당방법을 완벽히 마스터 하게 되면 그때 따로 포스팅을 해볼까 한다. -
뭐 문제는 풀기는 했는데, 사실 나는 단계에 맞게 조건문을 활용해서 문제를 해결하였는데 정답 제출 후 남들의 문제를 확인 해보니 아주 진귀한 답이 있어 그것까지 소개해보겠다.
풀이
나의 풀이
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString().split("\n");
let hour = input[0].split(" ")[0];
let min = input[0].split(" ")[1];
let time = input[1];
solution(+hour, +min, +time);
function solution(hour, min, time){
if(min + time >= 60){
hour = hour + parseInt((min + time) / 60)
min = (min + time) % 60;
if(hour >=24){
hour = hour - 24
}
}else{
min = min + time;
}
console.log(hour, min);
}
진귀한 풀이
const input = require("fs").readFileSync("/dev/stdin").toString().split("\n");
const nowTime = input[0].split(" ");
const hr = +nowTime[0];
const min = +nowTime[1] + +input[1];
const sum = hr*60 + min; // convert whole time into min.
console.log(Math.floor(sum/60)%24 + " " + sum%60);
오늘의 배운점 및 교훈
- 사실 오늘의 가장 배운점은 node.js 입력값을 하는 법이다ㅋㅋㅋ
하지만 이건 좀 더 마스터하고 포스팅하는것으로! - 매번 헷갈려서 찾아보는데 나누기를 할때 몫을 구할때 Math.floor()를 써야한다!
- 시간을 구할때 모두 분으로 바꾸고 생각하면 여러가지 경우의 수를 생각안해도 된다.
Author And Source
이 문제에 관하여(오븐 시계 - javascript), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@donq/오븐-시계-javascript저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)