알고리즘 문제 풀기

백준 1013 : Contact - javascript(문자열, 정규식)

Fo_rdang 2024. 9. 18. 17:39
반응형

문제 출처

https://www.acmicpc.net/problem/1013

 

정답 풀이 

- 정규식을 이용한 문자열을 판별해야겠다는 생각을 했다. 

- ^는 문자열의 시작을, $는 문자열의 끝을 의미한다. 이로써 문자열이 패턴과 완전히 일치하는지 확인할 수 있다. 

- |로 패턴 `100+1+`와 `01`을 선택적으로 매칭하고, 이를 반복해서 사용할 수 있도록 `+`를 사용한다. 

 

정답 코드 

const input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n'); 
const n = Number(input.shift()); 

function solution(n, input){
    for(let i=0; i<n; i++){
        const regex = /^(100+1+|01)+$/
        let answer = regex.test(input[i])
        if(answer) console.log('YES')
        else console.log('NO')
    }
}

solution(n, input)

 

반응형