aboutsummaryrefslogtreecommitdiff
path: root/challenge-116/abigail/node/ch-1.js
blob: 364e7a4206b6ca2f5238294c1ef5e216d2ae3f7b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/local/bin/node

//
// See ../README.md
//

//
// Run as: node ch-1.js < input-file
//

  require         ('readline')
. createInterface ({input: process . stdin})   
. on              ('line', line => main (line))

function make_sequence (string, start) {
    if (string == start) {
        return [start]
    }
    if (0 == string . indexOf (start)) {
        let tail = string . substr (start . length)
        let result = make_sequence (tail, (+ start + 1) . toString ()) ||
                     make_sequence (tail, (+ start - 1) . toString ())
        if (result) {
            result . unshift (start)
            return result
        }
    }
    return null
}


function main (line) {
    for (let i = 1; i <= line . length; i ++) {
        let start  = line . substr (0, i)
        let result = make_sequence (line, start)
        if (result) {
            console . log (result . join (","))
            break
        }
    }
}