CodingTest/LeetCode

[LeetCode] 334. Increasing Triplet Subsequence, Medium

뜸부깅 2025. 4. 15. 15:38
반응형

1. 문제

  • 정수 배열 nums가 주어질 때, 3개의 수 index가 i < j < k를 만족하고, nums[i] < nums[j] < nums[k]를 만족하면 true를 반환하고 아니면 false를 반환하라.

2. 해결

function increasingTriplet(nums: number[]): boolean {
    let first = Number.MAX_SAFE_INTEGER, second = Number.MAX_SAFE_INTEGER;

    for(const num of nums) {
        if(num <= first) first = num;
        else if(num <= second) second = num;
        else return true;
    }
    return false;
};
  • 못 풀었다.
  • 원리는 first에 가장 작은 값을 저장하고, second에 두 번째로 작은 값을 저장한다. 그 상태에서 second보다 큰 값이 나타나는 경우 true를 반환.