• # un bout de AWK

    Posté par . En réponse au message Avent du Code, jour 3. Évalué à 3.

    disclamer : j'ai d'abord écrit une solution en python parce que j'ai tout de suite penser à utiliser les set. puis en AWK pour le plaisir :)

    part 1

    {
     split(substr($0,1,length($0)/2),arr,"")
     r = substr($0,1+length($0)/2)
     for (a in arr) {
     c = arr[a]
     if (index(r,c)>0) {
     comm = c
     }
     }
     S += index("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", comm)
    }
    END {print S}

    part 2

    NR%3==1 {split($0,arr,"");for(a in arr){A[arr[a]]=1}}
    NR%3==2 {split($0,arr,"");for(a in arr){B[arr[a]]=1}}
    NR%3==0 {
     split($0,arr,"")
     for (a in arr) {
     c = arr[a]
     if ((c in A)&&(c in B)) {comm = c}
     }
     S += index("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", comm)
     delete A
     delete B
    }
    END {print S}