GreatAlgorithm-Study / AlgorithmStudy

🌟알고리즘 대장정🌟
6 stars 4 forks source link

[11주차_수요일] 디펜스 게임 #146

Open yeongleej opened 4 days ago

yeongleej commented 4 days ago
### 🤔 시간복잡도 고려사항

### 💡 풀이 아이디어
baexxbin commented 1 day ago

🤔 시간복잡도 고려사항

💡 풀이 아이디어

Jewan1120 commented 23 hours ago

🤔 시간복잡도 고려사항

💡 풀이 아이디어

yeongleej commented 17 hours ago

🤔 시간복잡도 고려사항

=> O(N)으로 생각해보기

💡 풀이 아이디어

풀고 보니깐 수빈님이 푸신대로 무적권의 개수가 pq의 크기가 될 수 있다는 것을 꺠달았습니다~~ 👍

KodaHye commented 9 hours ago

🤔 시간복잡도 고려사항

💡 풀이 아이디어

처음에 BFS로 했는데, 메모리 초과가 나네요!! (제가 잘못 구현했을 수도 있어요,,,)

PriorityQueue<Integer> q = new PriorityQueue<Integer>(Collections.reverseOrder());

int sum = 0;

// 큐에 하나씩 적들을 담으면서, n보다 적들의 합이 더 커진다면
// 큐에서 가장 많은 적들을 꺼내서 무적권을 사용하기
for(int i = 0; i < enemy.length; i++) {
    sum += enemy[i];
    q.add(enemy[i]);

    if(n < sum && k > 0) {
        int diff = q.poll();
        sum -= diff;
        k -= 1;
    }

    if(n < sum) break;
    answer = i + 1;
}