
😎풀이
events 순회
1-1. 현재 시간 - 마지막으로 버튼 눌린 시간 = 현재 버튼이 눌린 시간
1-2. 가장 오래 눌린 버튼과 비교하여 갱신
1-3. 마지막으로 버튼 눌린 시간 갱신
- 가장 오래 눌린버튼 반환
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
};