Skip to content
Algorithm.js
📚 단일 패턴

392. Is Subsequence

두 문자열에서 첫 번째가 두 번째의 부분 수열인지 투 포인터로 판별하는 두 가지 순회 전략을 정리.

Oct 14, 2025 — two-pointers

문제 설명

풀이 아이디어

긴 문자열 순회

풀이

구현

/**
* @param {string} s
* @param {string} t
* @return {boolean}
*/
var isSubsequence = function(s, t) {
const NS = s.length;
const NT = t.length;
let indexS = 0;
for (let indexT = 0; indexT < NT; indexT += 1) {
if (s[indexS] === t[indexT]) {
indexS += 1;
// for early return
if (indexS >= NS) return true;
}
}
return indexS === NS;
};

짧은 문자열 순회

풀이

구현

/**
* @param {string} s
* @param {string} t
* @return {boolean}
*/
var isSubsequence = function(s, t) {
const NS = s.length;
const NT = t.length;
let indexT = 0;
for (let indexS = 0; indexS < NS; indexS += 1) {
while (indexT < NT && t[indexT] !== s[indexS]) indexT += 1;
if (indexT === NT) return false;
indexT += 1;
}
return true;
};