[Programmers] - [1차] 추석 트래픽
문제
카카오 인턴십 문제를 풀어보자.
코드
import java.text.SimpleDateFormat;
import java.util.*;
class Solution {
SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss.SSS");
public int solution(String[] lines) throws Exception{
int[] count = new int[lines.length];
int max = 0;
for(int i=0;i<lines.length;i++){
String[] pre = lines[i].split(" ");
Date preEndDate = format.parse(pre[1]);
long preEnd = preEndDate.getTime();
//00:00:00.000 이면 -32400000
//23:59:59.999 이면 53999999
for(int j=i;j<lines.length;j++){
String[] next = lines[j].split(" ");
Date nextEndDate = format.parse(next[1]);
long nextEnd = nextEndDate.getTime();//double 반환
double sec = Double.parseDouble(next[2].substring(0, next[2].length()-1));//처리시간 따오기
long nextStart = (long) ((double)nextEnd - sec*1000 + 1);
if(preEnd + 1000 > nextStart){
count[i]++;
max = Math.max(max,count[i]);
}
}
}
return max;
}
}
코드 설명
SimpleDateFormat을 꼭 알아두면 쓸모 있겠다.
요약
- getTime()으로 날짜를 double형 숫자로 반환할 수 있다.