Dato un numero binario A come input con cifre d> 1, emettere un numero binario B con cifre d secondo le seguenti regole per trovare l'ennesima cifra di B:
La prima cifra di B è zero se la prima e la seconda cifra di A sono uguali; altrimenti, è uno.
Se 1 <n <d, quindi se le cifre (n-1) th, nth e (n + 1) th di A sono uguali, allora l'ennesima cifra di B è zero; altrimenti, è uno.
La cifra dth di B è zero se le cifre (d-1) th e dth di A sono uguali; altrimenti, è uno.
Regole
Il formato input / output stringa / elenco va bene. Un altro modo consentito di input / output è un numero intero seguito dal numero di zeri precedenti (o seguendo il numero di zeri precedenti).
Rendi il tuo codice il più breve possibile.
Casi test
00 -> 00
01 -> 11
11 -> 00
010111100111 -> 111100111100
1000 -> 1100
11111111 -> 00000000
01010101 -> 11111111
1100 -> 0110
1100 -> 0110
(le prime 2 cifre dell'output sono sempre identiche in tutti gli altri casi di test; idem per le ultime 2 cifre)