(1).백준 22123번 Экзамен는 시간 내에 과제를 완료할 수 있는지를 묻는 문제로
가능한 경우 Pefect를 출력하고 아닐 경우 1시간 내에 마무리가 되면 Test를 출력하고
모두 불가능한 경우 Fail을 출력해야 하는 문제였다.
입력 값이 살짝 지저분해보이긴 했지만 정렬은 잘 되어있었기 때문에
테스트케이스 하나씩 다시 메서드에 전달해준 다음 해당 값들을 분리해서 비교했다.
const input = `4
01:02:03 01:05:03 3
23:12:14 00:14:59 91
00:00:00 00:00:00 1000
01:00:00 05:00:00 666`.split('\n')
const result = []
const check = (str) => {
const [t1, t2, m] = str.split(' ')
const [h1, m1, s1] = t1.split(':').map(Number)
const [h2, m2, s2] = t2.split(':').map(Number)
const time1 = h1*3600 + m1 * 60 + s1
const time2 = (h2*3600 + m2 * 60 + s2) > time1 ? h2*3600 + m2 * 60 + s2 : h2*3600 + m2 * 60 + s2 + 86400
if(time1 + m*60 <= time2){
return 'Perfect'
}
else if(time1 + m*60 <= time2 + 3600){
return 'Test'
}
else{
return 'Fail'
}
}
for(let i = 1 ; i < input.length ; i++){
result.push(check(input[i]))
}
console.log(result.join('\n'))
'회고' 카테고리의 다른 글
[개발일지] - 331 (0) | 2024.05.27 |
---|---|
[개발일지] - 330(주말) (0) | 2024.05.26 |
[개발일지] - 328 (0) | 2024.05.24 |
[개발일지] - 327 (0) | 2024.05.23 |
[개발일지] - 326 (0) | 2024.05.22 |