
😎풀이
releaseTimes
순회
1-1. 이전 시간과 현재 시간을 비교하여 지속시간 확인
1-2. 현재 지속시간과 최대 지속시간을 비교하여 갱신
1-3. 동일한 지속시간 이라면, key를 기준으로 사전 순 더 높은 key로 갱신
- 지속시간이 가장 긴 key 반환
function slowestKey(releaseTimes: number[], keysPressed: string): string {
let maxKey = keysPressed[0]
let maxDuration = releaseTimes[0]
for(let i = 1; i < releaseTimes.length; i++) {
const prevTime = releaseTimes[i - 1]
const curTime = releaseTimes[i]
const curKey = keysPressed[i]
const curDuration = curTime - prevTime
if(maxDuration > curDuration) continue
else if(maxDuration === curDuration) {
if(curKey > maxKey) maxKey = curKey
continue
}
maxKey = curKey
maxDuration = curDuration
}
return maxKey
};