[伯俊]JavaScript 2884目覚まし時計
質問する
ソース:白駿2884号目覚まし時計
所定の時間を45分前に印刷します.
例
10 10 -> 9 25
プール1(readline)
近接:状況に応じて所定の時間と分を増減する
const readline=require('readline');
const rl=readline.createInterface({
input:process.stdin,
output:process.stdout
});
let input=[];
rl.on('line',function(line){
input=line.trim().split(' ').map(Number);
}).on('close',function(){
let [hour,min]=input;
if(min<45){
min=min+15;
hour!==0?hour--:hour=23;
console.log(`${hour} ${min}`)
}else{
console.log(`${hour} ${min-45}`)
}
process.exit();
})
プール2(fs)
近接:所定のminで45を減算し、0に比べて時間と分を減算します.
const fs=require('fs');
let [hour,min]=fs.readFileSync('/dev/stdin').toString().trim().split(' ').map(Number);
min-=45;
if(min<0){
min+=60;
hour--;
if(hour===-1){
hour=23;
}
}
console.log(`${hour} ${min}`)
プール3(fs)
近接:指定した時間と分ではなく、分単位で統一的に計算されます.
const fs=require('fs');
const [hour,min]=fs.readFileSync('/dev/stdin').toString().trim().split(' ').map(Number);
const alarm=hour*60+min-45;
console.log(alarm<0?`23 ${alarm+60}`:`${Math.floor(alarm/60)} ${alarm%60}`)
3人の中で最後の答えが一番速い.時間の問題だけでなく、距離、重量などの問題であれば、一つの単位に統一して計算する方法もあることを覚えておいてください.
参考資料
https://www.acmicpc.net/source/19674821
https://gurtn.tistory.com/20
Reference
この問題について([伯俊]JavaScript 2884目覚まし時計), 我々は、より多くの情報をここで見つけました https://velog.io/@wiostz98kr/백준-2884번-JavaScript-알람-시계テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol