🖇️ 문제 링크
코딩테스트 연습 - 광고 삽입
카카오TV에서 유명한 크리에이터로 활동 중인 죠르디는 환경 단체로부터 자신의 가장 인기있는 동영상에 지구온난화의 심각성을 알리기 위한 공익광고를 넣어 달라는 요청을 받았습니다. 평소에 환경 문제에 관심을 가지고 있던 "죠르디"는 요청을 받아들였고 광고효과를 높이기 위해 시청자들이 가장 많이 보는 구간에 공익광고를 넣으려고 합니다.


⌨️ 코드
class Solution {
public String solution(String play_time, String adv_time, String[] logs) {
int[] time = new int[100 * 60 * 60];
int play = getSecond(play_time);
int adv = getSecond(adv_time);
for(String log : logs) {
int s = getSecond(log.split("-")[0]);
int e = getSecond(log.split("-")[1]);
for(int i = s; i < e; i++)
time[i] += 1;
}
long cur = 0;
for(int i = 0; i < adv; i++)
cur += time[i];
long max = cur;
int ret = 0;
for(int i = adv; i < play; i++) {
cur = cur + time[i] - time[i - adv];
if(cur > max) {
max = cur;
ret = i - adv + 1;
}
}
return String.format("%02d:%02d:%02d", ret / (60 * 60), (ret / 60) % 60, ret % 60);
}
public int getSecond(String s) {
return Integer.parseInt(s.split(":")[0]) * 3600
+ Integer.parseInt(s.split(":")[1]) * 60
+ Integer.parseInt(s.split(":")[2]);
}
}
Uploaded by Notion2Tistory v1.1.0