[LeetCode] 3386. Button with Longest Push Time

Chobby·2026년 1월 8일

LeetCode

목록 보기
902/972

😎풀이

  1. events 순회
    1-1. 현재 시간 - 마지막으로 버튼 눌린 시간 = 현재 버튼이 눌린 시간
    1-2. 가장 오래 눌린 버튼과 비교하여 갱신
    1-3. 마지막으로 버튼 눌린 시간 갱신
  2. 가장 오래 눌린버튼 반환
function buttonWithLongestTime(events: number[][]): number {
    let longestTime = 0
    let longestTimeIdx: number
    let lastPressed = 0
    for(const [index, time] of events) {
        const curPressTime = time - lastPressed
        if(curPressTime > longestTime) {
            longestTime = curPressTime
            longestTimeIdx = index
        } else if(curPressTime === longestTime) {
            longestTimeIdx = Math.min(longestTimeIdx, index)
        }
        lastPressed = time
    }
    return longestTimeIdx
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글