[LeetCode] 2383. Minimum Hours of Training to Win a Competition

Chobby·2025년 10월 27일
1

LeetCode

목록 보기
724/773

😎풀이

  1. energy는 소모형이므로, 필요한 총합보다 1 클 때까지 훈련
  2. experience 순회
    2-1. experience는 누적형이므로, 부족할 때마다 부족한 에너지보다 1 클 때까지 훈련
  3. 훈련에 필요한 시간 반환
function minNumberOfHours(initialEnergy: number, initialExperience: number, energy: number[], experience: number[]): number {
    let hours = 0
    const necessaryEnergy = energy.reduce((a, b) => a + b, 0)
    if(initialEnergy <= necessaryEnergy) hours += necessaryEnergy - initialEnergy + 1
    let curExp = initialExperience
    for(const exp of experience) {
        if(curExp <= exp) {
            const need = exp - curExp + 1
            hours += need
            curExp += need
        }
        curExp += exp
    }
    return hours
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글