😎풀이

  1. s를 순회한다.
    1-1. #이 발견될 경우, 이전 문자와 #을 같이 제거한다.
    1-2. 이전 문자가 없을 경우 #만 제거한다.
  2. t를 같은 방식으로 처리한다.
  3. st가 같은지 비교한다.
function backspaceCompare(s: string, t: string): boolean {
    const splitS = [...s]
    const splitT = [...t]
    for(let i = 0; i < splitS.length; i++) {
        if(splitS[i] !== '#') continue
        if(i - 1 < 0) {
            splitS.shift()
            i--
            continue
        }
        splitS.splice(i - 1, 2)
        i -= 2
    }
    for(let i = 0; i < splitT.length; i++) {
        if(splitT[i] !== '#') continue
        if(i - 1 < 0) {
            splitT.shift()
            i--
            continue
        }
        splitT.splice(i - 1, 2)
        i -= 2
    }
    return splitS.join('') === splitT.join('')
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글