[백준] - 3986 좋은 단어 (Javascript)

밀루·2023년 11월 22일
0

BOJ

목록 보기
42/43

문제 링크

풀이

A끼리 쌍을 짓고 B끼리 쌍을 지었을 때 이은 선이 겹치지 않는 단어를 좋은 단어라고 한다.

스택을 이용해 스택 상단의 문자와 현재 문자가 같은 경우 pop하고, 마지막에 스택이 비었는지 확인하는 식으로 구현했다.

코드

let fs = require('fs');

const [n, ...arr] = fs.readFileSync('/dev/stdin').toString().split('\n');
//const [n, ...arr] = fs.readFileSync(__dirname + '/ex2.txt').toString().split('\n');

let N = +n;
let cnt = 0;

for (let i = 0; i < N; i++) {
    let l1 = [];
    let string = arr[i].split('\r');
    string = string[0].split('')
    for (const s of string) {
        if (l1[l1.length - 1] === s) {
            l1.pop();
        } else {
            l1.push(s);
        }
    }
    if (l1.length === 0) {
        cnt++;
    }
}

console.log(cnt);
profile
이밀루의 도전

0개의 댓글