광고 삽입

유승선 ·2022년 1월 15일
0

프로그래머스

목록 보기
7/48

2021 카카오 블라인드 리쿠르트먼트 레벨3의 문제이다. 영상의 길이, 광고의 길이, 그리고 시청자들의 기록을 담은 벡터가 주어질때 어느 구간에 광고를 넣으면 가장 많은 시청자들이 볼수있는지를 묻는 문제이다. 사실 이 문제는 애초에 질문을 이해하는것부터 굉장히 오랜 시간이 걸리는 문제이다. 질문을 잘 읽었다하더라도 이걸 어떻게 "구현" 하지? 라는 막막한 생각만 머리속을 맴돌거같다.

실제로 나도 그랬다. 이제 대부분의 알고리즘 구현도 어렵지 않고 이런 특정 알고리즘을 쓰는것만 알면은 잘 써볼수있는 나인데도 이 문제를 보고 대체 이게 무슨 소리지 어떻게 구현하지 라는 혼란만 남게됐다.카카오 문제들이 어려운 이유에는 구현이 가장 큰거같다. 아니면 내가 제일 약한 포인트일수도 있지만 정말 문제를 풀 방법이 생가이 안나서 과감하게 다른사람의 풀이를 읽었고 풀이를 읽은 후에야 아! 이래서 이런거구나 라는 생각이 많이들었다.

풀이 방법은 시청 기록을 초로 환산한 다음에 total_time 이라는 벡터안에 그 구간에시청자들을 전부 저장하고 현재까지 누적된 시청자들의 시간을 기록하고 max시간을 따로 만들어서 영상이 재생 될수있는 최대시간동안 계속 업데이트 해주면 된다. 여기서 정말 헷갈리던 점은 1~10초 일때 시간이10초가 되면안되고 9초가 되야한다는 점에서 시작점에서 +1 을 해줘야 2~10초 총 9초가된다던점이다.


진짜 솔직히 어려운알고리즘 문제도 아니였고 엄청 특별한 뭐가 들어간것도아니였지만 진짜 어렵게느껴졌던문제였다.

https://yabmoons.tistory.com/623

이분의 블로그를 참고하였고 나도 앞으로 구현하는 과정에 있어서 더 깊은생각을 해야겠다.

배운점:
1. 막상 풀면은 별거가 없지만 그것을 내꺼로 만들어야한다
2. 시간을 변환하고 초를 시간으로 다시 바꾸는 방법을 배웠다

profile
성장하는 사람

0개의 댓글