코딩테스트/프로그래머스

[프로그래머스] 광고 삽입 (Swift)

꽁치대디 2022. 5. 22. 19:15

[프로그래머스] 광고 삽입 (Swift)

https://programmers.co.kr/learn/courses/30/lessons/72414

 

코딩테스트 연습 - 광고 삽입

시간을 나타내는 HH, H1, H2의 범위는 00~99, 분을 나타내는 MM, M1, M2의 범위는 00~59, 초를 나타내는 SS, S1, S2의 범위는 00~59까지 사용됩니다. 잘못된 시각은 입력으로 주어지지 않습니다. (예: 04:60:24, 11

programmers.co.kr

풀이

시청시간이 가장 많이 겹치는 경우를 찾아야 합니다. 그러기 위해서 입력받는 모든 시간을 초로 환산하였습니다.

 

전체 구간의 크기만큼 배열을 생성하여 시청시간들의 시작과 끝까지 1 씩 증가시켜주었습니다.

 

이렇게 되면 아무도 시청하지 않은 구간은 0, 한명이 시청한 구간은 1, 두명이 시청한 구간은 2, ... 와 같은 식으로 배열이 구성될 것입니다.

 

그 다음 광고 크기만큼 누적합을 이용하여 가장 시청자가 많은 구간을 찾아 다시 시간형식으로 변환하면 해결할 수 있는 문제입니다.

코드