본문 바로가기
알고리즘 문제/Leetcode

[Leetcode] 731. My Calendar II

by 햄과함께 2022. 4. 12.
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

댓글