[프로그래머스/파이썬] 디펜스 게임 , 이분탐색?!

김진만·2022년 12월 8일
0

코딩테스트

목록 보기
9/10

문제~!

설명들이 쭉~ 있는데 입출력 예제만 보고 설명하자면...

  1. 내가 갖고 있는 병사 : n명
  2. 내가 갖고 있는 무적권(필살기) : k개
  3. 적들이 들어오는 순서와 인원
    enemy , 적을 상대할 따 마다 enemy[값] 만큼 병사가 죽음 ㅠㅠ(등가교환 넘행)

근데 최대한 많은 라운드로 가야한다면
진행은 하되 무적권을 적이 많을 때 써야함
근데 이 적이 많다에 대한 판단은 당장 4명이 많아보여서 써버렸는데 다음에 5명이
있으면 어떡해~?! 그래서 내가 생각한 메커니즘

1.bfs 잘못짰는지 시간초과나오더라고요

2.슬라이싱

3.무찌른 적들의 리스트값을 0으로 만들어줌

근데 결국 시간초과뜸 ㅋ 다음에 다시보자

def solution(n, k, enemy):
answer = 0
for i in range(1,len(enemy)+1):
if sum(enemy[:i])>=n and k!=0:
enemy[enemy.index(max(enemy[:i]))]=0
k-=1
print(enemy)
elif sum(enemy[:i])>n and k==0:
answer=i-1
break
if enemy[-1]==0:
answer=len(enemy)
return answer

profile
충분한 전기와 컴퓨터 한 대와 내 이 몸만 남아 있다면 지구를 재건할 수 있습니다.

0개의 댓글