코드포스 풀이

코드포스 230A 풀이

ag2개발자 2022. 1. 31. 04:50
a,n = map(int, input().split())
arr=[]
flag=True
for _ in range(n):
    input_data=input().split()
    arr.append((int(input_data[0]),int(input_data[1])))
arr = sorted(arr,key=lambda b: b[0])
for i in range(len(arr)):
    if a>arr[i][0]:
        a+=arr[i][1]
    else:
        flag =False
if flag:
    print("YES")
else:
    print("NO")

사용자의 힘이 주어지고 드래곤의 힘보다 크면 보너스만큼 힘이 추가되고 드래곤의 힘보다 작으면 지는 게임이다.

드래곤의 힘과 보너스가 한 줄씩 주어지기 때문에 튜플 형태로 리스트에 append 시키고 드래곤의 힘에 따라 정렬시킨다.

어느 드래곤부터 처치할지는 선택할 수 있기에 가장 약한 드래곤부터 처치하는 것이다.

flag변수를 이용해 사용자의 힘이 드래곤보다 클 때 힘을 증가시켜가면서 드래곤을 처치하지 못할 때

flag를 false로 변환시켜준다. 그리고 flag에 따라 결과를 출력한다.

'코드포스 풀이' 카테고리의 다른 글

코드포스 1633B 풀이  (0) 2022.02.01
코드포스 339B 풀이  (0) 2022.01.31
코드포스 131A 풀이  (0) 2022.01.31
코드포스 344A 풀이  (0) 2022.01.31
코드포스 479A 풀이  (0) 2022.01.30