diff --git a/oesnuj/README.md b/oesnuj/README.md index d0b1139..586d2a4 100644 --- a/oesnuj/README.md +++ b/oesnuj/README.md @@ -17,4 +17,5 @@ | 13차시 | 2024.07.28 | DP | [부녀회장이 될테야](https://www.acmicpc.net/problem/2775) | [#44](https://github.com/AlgoLeadMe/AlgoLeadMe-10/pull/44) | | 14차시 | 2024.08.05 | 해시 | [ 나는야 포켓몬 마스터 이다솜 ](https://www.acmicpc.net/problem/1620) | [#46](https://github.com/AlgoLeadMe/AlgoLeadMe-10/pull/46) | | 15차시 | 2024.08.10 | 그리디 | [ 주식 ](https://www.acmicpc.net/problem/11501) | [#47](https://github.com/AlgoLeadMe/AlgoLeadMe-10/pull/47) | +| 16차시 | 2024.09.13 | 구현 | [ 달력 ](https://www.acmicpc.net/problem/20207) | [#50](https://github.com/AlgoLeadMe/AlgoLeadMe-10/pull/50) | --- diff --git "a/oesnuj/\352\265\254\355\230\204/20207.cpp" "b/oesnuj/\352\265\254\355\230\204/20207.cpp" new file mode 100644 index 0000000..08b6bc3 --- /dev/null +++ "b/oesnuj/\352\265\254\355\230\204/20207.cpp" @@ -0,0 +1,42 @@ +#include +#include +using namespace std; + +struct EventPeriod +{ + int start, end; +}; + +int main() +{ + int N; + cin >> N; + vector v(N); + int days[365] = {0}; + + for(int i = 0; i < N; i++) + { + cin >> v[i].start >> v[i].end; //일정 시작일, 종료일 입력받기 + + for (int k = v[i].start - 1; k < v[i].end; k++) { + days[k]++; //일정에 포함되는 날의 배열 값 +1; + } + } + + int result = 0; + int height = 0, width = 0; + for (int i = 0; i < 365; i++) { + if (days[i] != 0) { + width++; + height = max(height, days[i]); + } + + if (days[i + 1] == 0) { + result += height * width; + width = 0; + height = 0; + } + } + cout << result; + return 0; +} \ No newline at end of file