Algorithms/Programmers

[Programmers] 디펜스 게임

징토리 2022. 12. 9. 00:54

문제 조건

  • 나의 총 병사는 n명,
  • 매 라운드마다 enemy[i] 만큼 적이 등장,
  • k번 enemy[i]를 무효화 가능
  • 나의 병사로 클리어 할 수 있는 라운드 값 리턴 

문제 풀이

  • 만약 무적권의 수가 라운드 길이보다 많으면 모든 라운드 무적권으로 클리어 가능
    -> 라운드 길이값 반환
  • 먼저 PriorityQueue에 k개의 라운드 enemy[i] 수를 넣어줌
  • k이후부터 내가 가진 병사로 무찔러야함
  • 만약 pq의 첫번째 값이 내가 무찔러야 하는 적(enemy[i])보다 적으면,
    pq의 병사를 무찌르고, enemy[i]를 pq에 넣어주어 무적권 사용 라운드를 적이 더 적은 수로 바꿔줌
  • 만약 내 병사가 남아있지 않다면 그대로 라운드 값 (i) 리턴

https://school.programmers.co.kr/learn/courses/30/lessons/142085

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

'Algorithms > Programmers' 카테고리의 다른 글

[Programmers] 카드 뭉치  (0) 2023.03.07
[Programmers] 인사고과  (0) 2023.01.20
[Programmers] 숫자 카드 나누기  (0) 2022.12.04
[Programmers] 문자열 나누기  (0) 2022.12.03
[Programmers] 억억단을 외우자  (0) 2022.12.03