Muscardinus

추석 트래픽 본문

알고리즘 문제/[프로그래머스] Lv3

추석 트래픽

Muscardinus 2022. 4. 15. 01:18
728x90

https://programmers.co.kr/learn/courses/30/lessons/17676

 

코딩테스트 연습 - [1차] 추석 트래픽

입력: [ "2016-09-15 20:59:57.421 0.351s", "2016-09-15 20:59:58.233 1.181s", "2016-09-15 20:59:58.299 0.8s", "2016-09-15 20:59:58.688 1.041s", "2016-09-15 20:59:59.591 1.412s", "2016-09-15 21:00:00.464 1.466s", "2016-09-15 21:00:00.741 1.581s", "2016-09-1

programmers.co.kr

 

function solution(lines) {
    const logs = lines.map((e) => e.slice(11).split(" ")).map((e) => [toTimeNumber(e[0]), Number(e[1].replace("s",""))]);
    const times = logs.map((e) => [e[0] - (e[1] * 1000) + 1, e[0]]).sort((a, b) => a[0] - b[0]);
    
    let answer = 0;
    let window = [];
    times.forEach(([start, end]) => {
        window.push(end);
        window = window.filter((e) => e > start - 1000);
        answer = Math.max(window.length, answer);
    });
    return answer;
}

const toTimeNumber = (time) => {
    const hour = (time[0]*10 + time[1]*1) * 60 * 60;
    const minute = (time[3]*10 + time[4]*1) * 60;
    const seconds = time[6]*10 + time[7]*1;
    const millis = time[9]*100 + time[10]*10 + time[11]*1;
    const amount = (hour + minute + seconds) * 1000 + millis;
  
    return amount;
}
728x90

'알고리즘 문제 > [프로그래머스] Lv3' 카테고리의 다른 글

등굣길  (0) 2021.02.19
정수 삼각형  (0) 2021.02.19
디스크 컨트롤러  (0) 2021.02.15
베스트 앨범  (0) 2021.02.14
섬 연결하기  (0) 2021.02.13
Comments