이우의 개발일지
[프로그래머스/C++] PCCP 기출문제 1번 / 붕대 감기 본문
프로그래머스 PCCP 붕대감기
https://school.programmers.co.kr/learn/courses/30/lessons/250137
※ 일반 구현 문제
여러 가지 조건을 완벽한 시퀀스로 구현하는데 부족함을 느낌.
주어진 테스트 케이스를 다 통과해도, 나머지 20문제 테스트 케이스 실행할 때 4개 정도 실패.
이유 : heal_time (연속된 힐링 시간) 을 채우고, 초기화하는데서 문제 발생.
초기화 까먹지 말 것!
#include <string>
#include <vector>
#include <iostream>
using namespace std;
int solution(vector<int> bandage, int health, vector<vector<int>> attacks) {
int time = 1;
int now_health = health;
int attack_chance = 0;
int finish_attack = attacks.size();
int heal_time = 0;
for(int i = 1; i< attacks[attacks.size()-1][0]+1; i++){
if(time == attacks[attack_chance][0]){
now_health -= attacks[attack_chance][1];
if(now_health <= 0) return -1;
heal_time = 0;
attack_chance++;
}
else{
heal_time ++;
if(now_health + bandage[1] > health) now_health = health;
else now_health += bandage[1];
if(heal_time == bandage[0]){
if(now_health + bandage[2] > health) now_health = health;
else{
now_health += bandage[2];
heal_time = 0;
}
}
}
time ++;
}
int answer = now_health;
return answer;
}
반응형
'Coding' 카테고리의 다른 글
[백준/C++] 1463번 1로 만들기 - (1) (0) | 2024.05.18 |
---|---|
[백준/C++] 2108번 통계학 (0) | 2024.05.18 |
[백준/C++] 2563번 색종이 (0) | 2024.05.17 |
[백준/C++] 1158번 요세푸스 문제 [1] (0) | 2024.05.17 |
[백준/C++] 10773번 제로 (0) | 2024.05.16 |