본문 바로가기
알고리즘

백준 13717번(포켓몬 GO)

by eunyoung 2023. 4. 11.

난이도


실버 V

 

 

 

 

풀이


풀이1

import sys

input=sys.stdin.readline

N=int(input())

pocketmon=[]
result=0

def makeGrow(num1,num2):
    cnt=0
    while num1<=num2:
        num2-=num1
        num2+=2
        cnt+=1

    return cnt

for _ in range(N):
    name=input().rstrip()
    scoreArr=list(map(int,input().split()))
    score=makeGrow(scoreArr[0],scoreArr[1])
    result+=score
    pocketmon.append([name,score])



pocketmon.sort(key=lambda x:x[1],reverse=True)

print(result)
print(pocketmon[0][0])

 

풀이2

import sys

input=sys.stdin.readline

N=int(input())

pocketmon=[]
result=0
maxNum=0

for _ in range(N):
    name=input().rstrip()
    K,M=map(int,input().split())
    evol=0
    while K<=M:
        M-=K
        M+=2
        evol+=1
    result+=evol
    if evol>maxNum:
        maxNum=evol
        maxName=name

print(result)
print(maxName)

 

링크


https://www.acmicpc.net/problem/13717

 

13717번: 포켓몬 GO

첫 번째 예제에서 지우가 어떻게 뿔충이(Weedle)를 진화시켰는지 보자. 처음 진화를 위해 지우는 12개의 사탕을 사용하였지만 2개를 돌려받아 32개의 사탕이 남는다  (42-12+2). 두 번째 진화 후엔 22

www.acmicpc.net