😎풀이

  1. nums를 순회한다.
    1-1. 현재 값에서 이전 값을 빼 양수라면 증가, 음수라면 감소 플래그를 정의한다.
    1-2. 이전 플래그와 현재 플래그가 불일치 한다면 false
  2. 순회하며 모든 플래그가 일치한다면 true
function isMonotonic(nums: number[]): boolean {
    let prevDirection
    for(let i = 1; i < nums.length; i++) {
        const diff = nums[i] - nums[i - 1]
        if(diff === 0) continue
        const curDirection = diff > 0 ? 'inc' : 'dec'
        if(prevDirection && prevDirection !== curDirection) return false
        prevDirection = curDirection
    }
    return true
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글