: 아침 8시 30분 부터 9시 30분까지 한시간의 시간 제한을 두고 풀었으나, 결국 풀지 못했다. 사실 문제 자체가 뭘 요구하는지 명확히 파악도 제대로 못한 것 같다. 주어진 예제를 보고도 잘 이해가 안됐으니까..ㅎ 나는 모든 완료시간을 날짜를 제외하고 초단위로 먼저 통합하는 과정을 거친다음에 특정 초를 딕셔너리의 키로 하고, 특정 초가 탐색될 때마다 값에 +1 을 해준 다음에 마지막까지 서치한 뒤 딕셔너리의 값중에 최대값을 정답으로 했다. 하지만! 통하지 않았다. 문제를 잘못이해한 것 같고, 접근법 자체도 틀린 것 같다. 오후에 한번더 풀어보고 안되면 오답노트를 작성해야겠다.
function solution(lines) {
var answer = 0;
const secList = []
const obj = {}
for (let el of lines) {
let date = el.split(' ');
let time = date[1].split(':');
let hour = time[0];
let min = time[1];
let sec = time[2];
let passed = date[2];
hour = hour * 60 * 60;
min*= 60;
let totalSec = parseFloat(hour) + parseFloat(min) + parseFloat(sec);
let prevSec = totalSec - parseFloat(passed.split('s')[0]);
console.log(totalSec, prevSec)
if (prevSec<0) {
return 1;
} else if (totalSec !== "자정") {
console.log('이거 처리도 해줘야함')
}
for (let i=Math.floor(prevSec);i<=Math.floor(totalSec);i++) {
if (obj[i]) {
obj[i] ++;
} else {
obj[i] = 1;
}
}
}
return answer;
}