Leetcode

[Leetcode] 392. Is Subsequence - JS

Wix 2024. 10. 1. 10:00

https://leetcode.com/problems/is-subsequence/description/?envType=study-plan-v2&envId=top-interview-150

 

 

1. 문제 분석

문제분석
--------------------
문자열 s, t가 주어지고 s가 t의 subsequence인지 판단하여 반환하라.
subsequence는 t문자열이 s문자열의 순서를 그대로 유지하는지를 비교하면된다.

제한조건
--------------------
- 0 <= s.length <= 100
- 0 <= t.length <= 10^4
- s, t는 알파벳 소문자로 구성된다.

 

2. 접근 방법

접근방법 - Two pointer
--------------------
t문자열을 순회하면서 s문자열의 포인터에 위치한 문자가 등장하는지 판단한다.

 

 

3. 코드

var isSubsequence = function(s, t) {
    let i = 0;
    let j = 0;
    while (j < t.length) {
        if (s[i] === t[j]) {
            i++;
        }
        j++;
    }
    return i === s.length
};

 

 

4. 복잡도 분석

- 시간복잡도: O(n)

- 공간복잡도: O(1)

 

Two pointer를 활용한 기본 예제 문제여서 간단하게 풀 수 있었다.