(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

+ Recent posts