Open ah-ryeong opened 1 year ago
[문제]
문제에 표가 많아서, 링크로 대체 https://school.programmers.co.kr/learn/courses/30/lessons/92341
오랜만에 제출까지 한번에 통과해서 좋긴한데.. for문 if문 거미줄이 따로 없다.. ^^>
function solution(fees, records) { var answer = []; let list = []; let carNumber = []; for(let i = 0; i < records.length; i++){ list.push(records[i].split(" ")); carNumber.push(list[i][1]); }; carNumber = carNumber.filter((item, i) => carNumber.indexOf(item) === i).sort(); for(let i = 0; i < carNumber.length; i++){ let time = []; let timeResult = []; for(let j = 0; j < list.length; j++){ if(carNumber[i] === list[j][1]) { if(list[j][2] === "IN") { if(time[0] === undefined) { time.push(new Date(`2023-04-19T${list[j][0]}`)); } else { const time2 = new Date(`2023-04-19T23:59`); timeResult.push((time2.getTime() - time[0].getTime()) / (1000*60)); time = []; } } else { const time2 = new Date(`2023-04-19T${list[j][0]}`); timeResult.push((time2.getTime() - time[0].getTime()) / (1000*60)); time = []; } }; }; if(time[0] !== undefined) { const time2 = new Date(`2023-04-19T23:59`); timeResult.push((time2.getTime() - time[0].getTime()) / (1000*60)); time = []; }; const result = timeResult.reduce(function add(sum, currValue) { return sum + currValue; }, 0); if(result <= fees[0]) { answer.push(fees[1]); } else { answer.push(fees[1] + Math.ceil((result - fees[0]) / fees[2]) * fees[3]); } }; return answer; } solution([180, 5000, 10, 600], ["05:34 5961 IN", "06:00 0000 IN", "06:34 0000 OUT", "07:59 5961 OUT", "07:59 0148 IN", "18:59 0000 IN", "19:09 0148 OUT", "22:59 5961 IN", "23:00 5961 OUT"]);
[문제]
문제에 표가 많아서, 링크로 대체 https://school.programmers.co.kr/learn/courses/30/lessons/92341
오랜만에 제출까지 한번에 통과해서 좋긴한데.. for문 if문 거미줄이 따로 없다.. ^^>