문제 조건
- 나의 총 병사는 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 |