diff --git a/2017/README.md b/2017/README.md index 4288cfd..277026a 100644 --- a/2017/README.md +++ b/2017/README.md @@ -6,7 +6,7 @@ and using 25 different programming languages. The current plan, in no particular order: -- [x] AWK - [Day 04](./day-04) (two separate scripts) +- [x] AWK - [Day 04](./day-04/solution.awk) - [x] Bash/shell script - [Day 02](./day-02/solution.sh) - [ ] C - [x] C++ - [Day 01](./day-01/solution.cpp) diff --git a/2017/day-04/solution2.awk b/2017/day-04/solution.awk similarity index 57% rename from 2017/day-04/solution2.awk rename to 2017/day-04/solution.awk index aad962a..6929ac6 100644 --- a/2017/day-04/solution2.awk +++ b/2017/day-04/solution.awk @@ -10,24 +10,37 @@ function word2key(word, a, i, n, result) } BEGIN { - valid=0 + valid1=0 + valid2=0 } { duplicates=0 + anagrams=0 for (i=1;i<=NF;i++) { a[word2key($i)]++ + b[$i]++ } for (x in a) { - if(a[x]>1) - duplicates++ - } - for (x in a) + if (a[x] > 1) + anagrams++ delete a[x] + } + for (x in b) { + if (b[x] > 1) + duplicates++ - if(duplicates==0) - valid++ + delete b[x] + } + + if (duplicates == 0) + valid1++ + + if (anagrams == 0) + valid2++ } END { - print valid + print valid1 + print valid2 } + diff --git a/2017/day-04/solution1.awk b/2017/day-04/solution1.awk deleted file mode 100644 index 24f9f3d..0000000 --- a/2017/day-04/solution1.awk +++ /dev/null @@ -1,22 +0,0 @@ -BEGIN { - valid=0 -} -{ - duplicates=0 - for (i=1;i<=NF;i++) { - a[$i]++ - } - for (x in a) - { - if(a[x]>1) - duplicates++ - } - for (x in a) - delete a[x] - - if(duplicates==0) - valid++ -} -END { - print valid -}