File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ // Contact
2+ // https://www.acmicpc.net/problem/1013
3+ const fs = require ( 'fs' ) ;
4+ const stdin = ( process . platform === 'linux'
5+ ? fs . readFileSync ( '/dev/stdin' ) . toString ( ) . trim ( )
6+ : `3
7+ 10010111
8+ 011000100110001
9+ 0110001011001
10+ `
11+ ) . split ( '\n' ) ;
12+
13+ const input = ( ( ) => {
14+ let line = 0 ;
15+ return ( ) => stdin [ line ++ ] ;
16+ } ) ( ) ;
17+
18+ const N = parseInt ( input ( ) ) ;
19+
20+ let re = new RegExp ( '^((100+1+|01)+)$' ) ;
21+
22+ for ( let i = 0 ; i < N ; i ++ ) {
23+ let signal = input ( ) ;
24+
25+ if ( re . test ( signal ) ) {
26+ console . log ( 'YES' ) ;
27+ } else {
28+ console . log ( 'NO' ) ;
29+ }
30+ }
31+
32+ /*
33+
34+ ## How
35+ μ κ·μ λ¬Έμ λ‘ κ³¨λλκ±°λΌ μ κ·μμ μ¬μ©ν΄μΌκ² λ€κ³ μκ°νλ€. λ¬Έμ μμ μ μν κ·μΉ μ체λ μ κ·μμ μ¬μ©ν μ μκ²λ μ£Όκ³ μμλ€.
36+
37+ μ κ·μμ μ¬μ©νμ§ μλλ€λ©΄ μ€ν λ§ν μ μ΄ κ·Έλν(Deterministic Finite Accepter)λ₯Ό κ·Έλ¦¬κ³ μ½λλ₯Ό μμ±νλ©΄ λλ€κ³ νλ€.
38+
39+ λ¬Έμ μμ κ°κ°μ μΌμ΄μ€λ₯Ό μ£Όλ©° μ€λͺ
ν΄μ£Όκ³ μλλ° `+`λ μμ λ¬Έμκ° νλ μ΄μ λμ€λ©΄ λλ€λ μλ―Έμ΄κ³ `(`, `)`λ λ¬Έμλ₯Ό κ·Έλ£Ήν νλ€λ μλ―Έμ΄λ€. `|`λ or μ°μ°μμ΄λ€.
40+
41+ μ μ κ·ννμ κ·μΉμ μ¬μ©νμ¬ μμ±λ ννμμ λ¬Έμ μμ μλμ κ°μ΄ μ 곡νλ€.
42+
43+ `(100+1+ | 01)+`
44+
45+ ν΄λΉ ν¨ν΄μ κ·Έλ₯ μ¬μ©νλ€λ©΄ λ¬Έμ κ° μ겨μ μ΅μ»€λ‘ κ°μΈμ£Όμ΄μΌ νλ€. `^`λ‘ μμ λ¬Έμμ΄κ³Ό `$`λ‘ λ λ¬Έμμ΄μμ μ μ μλλ‘ μ²λ¦¬ν΄μ£Όμ΄μΌ νλ€.
46+
47+ https://ko.javascript.info/regexp-anchors
48+
49+
50+ ## Retrospective
51+
52+ */
You canβt perform that action at this time.
0 commit comments