일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- publishnotreadyaddress
- dify
- test #비교
- Grid #CSS
- Excel #엑셀
- lvm #lv #vg #pv
- EKS
- 네트워크 #NW
- shell #shell script
- jmap #jstack
- bootstrap #css #CSS
- Swap Memory
- Kafka #카프카
- Linux #wc
- 오블완
- jgrp000032 #ocp #
- OCP
- 티스토리챌린지
- function #사용자 정의 함수
- dump #jattach
- PODS #POD #pods #pod #파드 #재기동 #롤링재기동 #rolling
- 백준 #10430
- lenova #레노버 #노트북
- NameSpace #NS
- istio #k8s #kubernetes
- Node #POD #Container
- CI #CD #CI/CD
- DB #mariaDB #SQL
- Python #pakage
- EFK
Archives
- Today
- Total
BEOM_IT
[programmers]python 250137 붕대감기 PCCP 1번 기출 본문
728x90
반응형
# 붕대감기 PCCP 1번 기출
# t초동안 붕대감고 1초마다 x 만큼 체력회복
# t초 연속 붕대감기 성공하면 y 만큼 추가체력회복
# 최대 체력보다 커지는 것은 불가능 공격 당하면 성공 초기화
# bandage 는 시전시간,초당 회복량,추가회복량
# health 는 최대 체력
# attacks는 몬스터 공격시간과 피해량
# 입출력에 맞춰 코드를 짜보자
# 일단 반복문을 짤꺼야 그런데 몬스터의 마지막 공격을 구해서 반복하자
# pop 함수를 사용해 마지막 index를 추출 time 을 구했다
# 현재 체력 에서 연속성공과 공격맞아서 초기화
# 배열의 배열값을 꺼내야한다..
# pop 함수를 사용하니... 배열값이 사라진다...
# 배열 slice 사용 [-1]로 max값 꺼내온다.
# 체력이 0밑으로 떨어지면 그 순간 반복문을 끝낼 return 값 추가
# bandT라는 변수를 선언해 시전시간 값 설계
# 공격을 맞으면 체력을 깍고 bandT 초기화
# 공격을 받는 시간은 체력이 차면 안된다...
# HP 변수를 두어 체력이 깍인걸 확인 후 치료
# bandT가 bandage[0]값과 같아지면 초기화 후 보너스
# 최대 체력을 넘기면 다시 초기화
def solution(bandage, health, attacks):
MaxHP = health # 최대 체력
bandage[0] # 회복시간
MaxTime=attacks[-1][0]
bandT=0
for i in range(MaxTime+1):
print("=================\n")
print(i,"현재 턴")
HP=health
print(HP,"현재 HP")
# 공격 데미지 정립
for j in attacks:
if j[0]==i:
health-=j[1]
print(j[1],"들어온 데미지")
bandT=0
print(health,"health 맞은 후 현재 체력")
# 치료
if HP==health and i!=0:
health +=bandage[1]
print(bandage[1],"+ Healllll")
bandT +=1
# 치료 성공 보너스
if bandT == bandage[0]:
bandT =0
health +=bandage[2]
print(bandage[2],"보너스 heallll")
# 최대체력 유지
if health >= MaxHP:
print("최대 체력 이상의 체력을 가질 수 없습니다.")
health = MaxHP
print(bandT,"p가 연속성공 차오른다")
print(health,"health 최종 피")
if health <= 0:
return -1
return health
# result = 5
# print(solution([5,1,5],30,[[2, 10], [9, 15], [10, 5], [11, 5]]))
# result = -1
# print(solution([3, 2, 7],20,[[1, 15], [5, 16], [8, 6]]))
# result = -1
print(solution([4, 2, 7],20,[[1, 15], [5, 16], [8, 6]]))
728x90
반응형
'Algorithm > Python' 카테고리의 다른 글
[programmers]python 181864 문자열 바꿔서 찾기 (1) | 2023.12.11 |
---|---|
[programmes]python 181853 뒤에서5등까지 (0) | 2023.12.11 |
[programmers]python 181934 조건문자열 (1) | 2023.12.07 |
[programmers]python 250128 pcce6번 가채점 (0) | 2023.11.30 |
[programmers]python 181935 홀짝에 따라 다른 값 반환하기 (1) | 2023.11.30 |