Skip to content

Conversation

@SeungrokYoon
Copy link
Owner

문제: 광고삽입

문제풀이 접근법

1차 문제풀이 접근법

  • 비효율적인 O(n^2)방식의 완전탐색을 진행했습니다.
  • 테스트 코드는 어찌 통과했지만, 정합성 통과에는 실패했습니다.

2차 문제풀이 접근법

  • 결국 정답이 되는 조건을 만족하려면 가장 시청자수가 많은 구간을 찾아내면 되는 것이었습니다. 그렇다면 시청자수를 누적해서 기록해두면 편할 것 같다는 생각이 들었고, imos를 생각하게 되었습니다.

구현 시 어려웠던 점과 깨달음

  • 시간 로그 데이터를 이용하여 특정 조건을 충족하는 시점을 찾는 문제가 생각보다 어렵습니다. 특히 비효율적인 O(n^2) 풀이법이 자꾸 첫 발상으로 떠올라서, 이 발상보다 효율적인 풀이를 할 수 있는 접근법을 생각해 내는 것이 쉽지 않습니다. imos의 경우, 이전 파괴되지 않은 건물에서 사용했던 개념임에도 불구하고, 다른 형태의 데이터가 주어지니 알아차리기 쉽지 않았습니다.
  • 구간 합은 DP 를 통해서 구하면 O(1)시간만에 구할 수 있습니다. 물론 구간 합 배열을 작성하는 과정이 O(n)이 걸립니다.
  • 문제에 대한 발상이 바로 떠오르지 않아, 손이 가는 대로 코드를 적다보니 코드가 난잡해집니다. 문제를 충분히 살펴보고 접근법을 생각해본 후에 코드를 짜도 될 듯 합니다.

@SeungrokYoon SeungrokYoon self-assigned this May 16, 2022
@SeungrokYoon SeungrokYoon added the good insights This PR provides good insights, which are worth referred label May 18, 2022
@SeungrokYoon SeungrokYoon force-pushed the main branch 4 times, most recently from c654ddb to a9636f4 Compare October 31, 2023 07:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

good insights This PR provides good insights, which are worth referred

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants