[Java]Programmers 에어컨
출처 에어컨 접근 문제 분석 에어컨을 켜서 온도를 설정하거나, 끄면서 차량의 온도를 조절하는데 최소의 비용이 들 수 있도록 해야 합니다. 탑승객이 존재할때만 온도가 유지되면 됩니다. 시간복잡도 분석 온도의 범위는 -10 <= temperature <= 40로, 전체 범위를 확인하는데 많은 시간복잡도가 필요하지 않습니다. 전체 탑승객의 정보(시간)인 onboard의 길이는 2 <= onboard.length <= 1,000으로, 전체 시간을 탐색하는데 O(N^3)의 알고리즘까지 사용이 가능합니다. 다만 온도 범위를 모두 탐색하는 것까지 고려하면 O(N^3)이하의 알고리즘이 필요합니다. 대부분의 완전탐색 알고리즘을 통해 문제를 해결할 수 있음을 알 수 있습니다. 공간복잡도 분석 시간복잡도와 마찬가지로, 공간복잡도는 고려하지 않아도 될 정도로 주어진 변수의 범위가 작은 편입니다. 풀이 DP 완전탐색을 구현하기 위해 DP를 사용했습니다. DFS로도 가지치기만 잘하면서 백트래킹하면 시간복잡도 내에 가능할 것으로 보이지만, DP가 구현이 더 쉽고 직관적이기 때문에 DP로 풀이했습니다. ...