[LeetCode] 3633. Earliest Finish Time for Land and Water Rides I

Chobby·2026년 1월 19일

LeetCode

목록 보기
936/986

😎풀이

  1. 지상 놀이기구를 먼저 탔을 때, 가능한 최소 시간 탐색
  2. 수중 놀이기구를 먼저 탔을 때, 가능한 최소 시간 탐색
  3. 두 놀이기구를 가장 빨리 탔을 때의 최소 시간 반환
function earliestFinishTime(landStartTime: number[], landDuration: number[], waterStartTime: number[], waterDuration: number[]): number {
    let earliestTime = Infinity
    for(let i = 0; i < landStartTime.length; i++) {
        const landTime = landStartTime[i] + landDuration[i]
        for(let j = 0; j < waterStartTime.length; j++) {
            const waterTime = Math.max(waterStartTime[j] - landTime, 0) + waterDuration[j]
            earliestTime = Math.min(earliestTime, landTime + waterTime)
        }
    }
    for(let i = 0; i < waterStartTime.length; i++) {
        const waterTime = waterStartTime[i] + waterDuration[i]
        for(let j = 0; j < landStartTime.length; j++) {
            const landTime = Math.max(landStartTime[j] - waterTime, 0) + landDuration[j]
            earliestTime = Math.min(earliestTime, waterTime + landTime)
        }
    }
    return earliestTime
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글