대충이라도 하자

프로그래머스-[1차] 추석 트래픽 본문

꼬꼬마 개발자 노트/Coding Problems

프로그래머스-[1차] 추석 트래픽

Sueeeeee
반응형

1. Date 라이브러리 사용하지 않고 했었는데 하는 게 훨씬 쉽네...?

 그런데 이번 문제에서 무엇보다 놀라운 건 throws Exception 사용이 가능한 듯하다.ㅋㅋㅋㅋ

윈도우를 활용잘해야 한다. 처음과 끝의 범위를 활용해서!!

 

import java.util.*;
import java.text.*;

class Solution {
    public int solution(String[] lines) throws Exception {
        int answer = 0;
        SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss.SSS");
        int len = lines.length;
        int[] counts = new int[len];
        
        for(int i = 0; i<len;i++){
            String [] time = lines[i].split(" ");
            Date preEndDate = format.parse(time[1]);  //완료 시간
            long preEnd = preEndDate.getTime();
            
            for(int j = i;j<len;j++) {
                String [] next = lines[j].split(" ");
                Date nextEndDate = format.parse(next[1]); //다음 완료 시간
                double sec = Double.parseDouble(next[2].substring(0, next[2].length()-1));  //걸리는 시간
                
                long nextStart = (long) (nextEndDate.getTime() - sec * 1000 + 1); // 다음 작업이 시작하는 시간
                
                if(preEnd + 1000 > nextStart) {
                    //1초 내라는 것
                    counts[i] +=1;
                    answer = Math.max(answer, counts[i]);
                }
            }
        }
        return answer;
    }
}
테스트 1 통과 (28.23ms, 85.2MB)
테스트 2 통과 (754.90ms, 398MB)
테스트 3 통과 (679.13ms, 401MB)
테스트 4 통과 (24.50ms, 76.7MB)
테스트 5 통과 (86.26ms, 105MB)
테스트 6 통과 (79.97ms, 104MB)
테스트 7 통과 (630.50ms, 392MB)
테스트 8 통과 (622.08ms, 412MB)
테스트 9 통과 (63.14ms, 107MB)
테스트 10 통과 (26.08ms, 90.8MB)
테스트 11 통과 (31.97ms, 88.3MB)
테스트 12 통과 (659.22ms, 405MB)
테스트 13 통과 (59.24ms, 103MB)
테스트 14 통과 (25.08ms, 82.5MB)
테스트 15 통과 (25.67ms, 87MB)
테스트 16 통과 (34.70ms, 89MB)
테스트 17 통과 (25.52ms, 80.6MB)
테스트 18 통과 (1713.51ms, 391MB)
테스트 19 통과 (1933.62ms, 408MB)
테스트 20 통과 (2132.24ms, 400MB)
테스트 21 통과 (25.98ms, 76.3MB)
테스트 22 통과 (34.80ms, 79.5MB)
반응형
Comments