๋ฌธ์
https://programmers.co.kr/learn/courses/30/lessons/17676
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
์์ค์ฝ๋
import java.util.Arrays;
class Solution {
public int solution(String[] lines) {
int[] tps = new int[24*60*60*1000 + 4000];
Arrays.stream(lines).forEach(log -> check(log, tps));
return Arrays.stream(tps).max().getAsInt();
}
public void check(String log, int[] tps) {
String[] str = log.split("[s\\s]");
double end = timeToSec(str[1]);
double start = end - Double.parseDouble(str[2]) - 0.998;
int s = (int) (1000 * (start + 4.000));
int e = (int) (1000 * (end + 4.000));
for(int i=s; i<=e; ++i) tps[i]++;
}
public double timeToSec(String time) {
String[] str = time.split(":");
int h = Integer.parseInt(str[0]);
int m = Integer.parseInt(str[1]);
double s = Double.parseDouble(str[2]);
return 60*60*h + 60*m + s;
}
}
ํ๊ณ
- ์ง์์ง์ ์ ๊ฒฝ์จ์ผ ๋ ๊ฒ ๋ง์์ ํ๋ค์์.
- ์ด์ ๋ก ๋์ด๊ฐ๋ ๋ถ๋ถ์ ๊ณ ๋ คํด์ ์ธ๋ฑ์ค๋ฅผ 4000 ๋งํผ ๋ฏธ๋ค์ผํ์.
'์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[2019 ์นด์นด์ค ๊ฐ๋ฐ์ ๊ฒจ์ธ ์ธํด์ญ] ์ง๊ฒ๋ค๋ฆฌ ๊ฑด๋๊ธฐ (0) | 2020.04.01 |
---|---|
[2019 ์นด์นด์ค ๊ฐ๋ฐ์ ๊ฒจ์ธ ์ธํด์ญ] ํธํ ๋ฐฉ ๋ฐฐ์ (0) | 2020.04.01 |
[2018 ์นด์นด์ค ๋ธ๋ผ์ธ๋ ์ฑ์ฉ] ์ ํ๋ฒ์ค (0) | 2020.03.16 |
[2018 ์นด์นด์ค ๋ธ๋ผ์ธ๋ ์ฑ์ฉ] ๋ด์ค ํด๋ฌ์คํฐ๋ง (0) | 2020.03.16 |
[2018 ์นด์นด์ค ๋ธ๋ผ์ธ๋ ์ฑ์ฉ] ํ์ผ๋ช ์ ๋ ฌ (0) | 2020.03.05 |