[LeetCode] 2899. Last Visited Integers

Chobby·2025년 12월 9일

LeetCode

목록 보기
815/969

😎풀이

  1. nums 순회
    1-1. 숫자가 -1이 아닌 경우, seen-1값 prepend
    1-2. 숫자가 -1인 경우, kseen의 길이보다 작다면, seen[k - 1]번째 요소 ans에 추가
    1-3. 1-2의 경우, kseen의 길이를 초과한다면 ans-1 추가

function lastVisitedIntegers(nums: number[]): number[] {
    const seen = []
    const ans = []
    let k = 0
    for(const num of nums) {
        if(num !== -1) {
            seen.unshift(num)
            k = 0
        } else {
            k++
            if(k <= seen.length) {
                ans.push(seen[k - 1])
            } else {
                ans.push(-1)
            }
        }
    }
    return ans
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글