320x100
문제 : https://leetcode.com/problems/my-calendar-ii/
부분합 문제.
정렬된 map을 만들고 map[start] + 1, map[end] -1을 갱신한다.
ex) [[10, 20], [50, 60]]
i | 10 | 20 | 50 | 60 |
map[i] | 1 | -1 | 1 | -1 |
부분합 | 1 | 0 | 1 | 0 |
map을 처음부터 탐색하면서 map[i]의 부분합을 구한다.
합을 구하면서 만약 3 이상인 경우가 있으면 map[start], map[end]를 이전 값으로 갱신한뒤 false를 반환한다.
탐색이 끝날때까지 3이상인 경우가 없으면 추가가 가능한 경우이므로 true를 반환한다.
소스코드 : https://github.com/fpdjsns/Algorithm/blob/master/leetcode/medium/731.%20My%20Calendar%20II.cpp
비슷한 문제 : [programmers][2021카카오공채] 광고 삽입
320x100
'알고리즘 문제 > Leetcode' 카테고리의 다른 글
[Leetcode] 1584. Min Cost to Connect All Points (0) | 2022.04.26 |
---|---|
[Leetcode] 538. Convert BST to Greater Tree (0) | 2022.04.16 |
[Leetcode] 703. Kth Largest Element in a Stream (2) | 2022.04.08 |
[Leetcode] 31. Next Permutation (0) | 2022.04.03 |
[Leetcode] 287. Find the Duplicate Number (0) | 2022.04.01 |
댓글