From 9e58d17c5cb16205460a561989e8b72228299094 Mon Sep 17 00:00:00 2001 From: Brian Buller Date: Tue, 23 Aug 2016 15:47:19 -0500 Subject: [PATCH] Merge Go Work --- go/atbash-cipher/README.md | 46 +++++++ go/atbash-cipher/atbash.go | 36 ++++++ go/atbash-cipher/atbash_cipher_test.go | 40 ++++++ go/atbash-cipher/cmd/cmd | Bin 0 -> 1844766 bytes go/atbash-cipher/cmd/main.go | 11 ++ go/current | 2 +- go/custom-set/cmd/cmd | Bin 1880109 -> 1850003 bytes go/custom-set/cmd/main.go | 2 +- go/custom-set/custom_set_test.go | 5 - go/custom-set/stringset.go | 51 ++------ go/hello-world/README.md | 58 +++++++++ go/hello-world/hello_test.go | 29 +++++ go/hello-world/hello_world.go | 11 ++ go/phone-number/README.md | 38 ++++++ go/phone-number/phone_number_test.go | 118 +++++++++++++++++ go/phone-number/phonenumber.go | 44 +++++++ go/pig-latin/README.md | 36 ++++++ go/pig-latin/igpay.go | 41 ++++++ go/pig-latin/pig_latin_test.go | 29 +++++ go/prime-factors/README.md | 48 +++++++ go/prime-factors/prime.go | 21 +++ go/prime-factors/primefactors_test.go | 48 +++++++ go/strain/README.md | 53 ++++++++ go/strain/strain.go | 54 ++++++++ go/strain/strain_test.go | 170 +++++++++++++++++++++++++ 25 files changed, 941 insertions(+), 50 deletions(-) create mode 100644 go/atbash-cipher/README.md create mode 100644 go/atbash-cipher/atbash.go create mode 100644 go/atbash-cipher/atbash_cipher_test.go create mode 100755 go/atbash-cipher/cmd/cmd create mode 100644 go/atbash-cipher/cmd/main.go create mode 100644 go/hello-world/README.md create mode 100644 go/hello-world/hello_test.go create mode 100644 go/hello-world/hello_world.go create mode 100644 go/phone-number/README.md create mode 100644 go/phone-number/phone_number_test.go create mode 100644 go/phone-number/phonenumber.go create mode 100644 go/pig-latin/README.md create mode 100644 go/pig-latin/igpay.go create mode 100644 go/pig-latin/pig_latin_test.go create mode 100644 go/prime-factors/README.md create mode 100644 go/prime-factors/prime.go create mode 100644 go/prime-factors/primefactors_test.go create mode 100644 go/strain/README.md create mode 100644 go/strain/strain.go create mode 100644 go/strain/strain_test.go diff --git a/go/atbash-cipher/README.md b/go/atbash-cipher/README.md new file mode 100644 index 0000000..939c038 --- /dev/null +++ b/go/atbash-cipher/README.md @@ -0,0 +1,46 @@ +# Atbash Cipher + +Create an implementation of the atbash cipher, an ancient encryption system created in the Middle East. + +The Atbash cipher is a simple substitution cipher that relies on +transposing all the letters in the alphabet such that the resulting +alphabet is backwards. The first letter is replaced with the last +letter, the second with the second-last, and so on. + +An Atbash cipher for the Latin alphabet would be as follows: + +```plain +Plain: abcdefghijklmnopqrstuvwxyz +Cipher: zyxwvutsrqponmlkjihgfedcba +``` + +It is a very weak cipher because it only has one possible key, and it is +a simple monoalphabetic substitution cipher. However, this may not have +been an issue in the cipher's time. + +Ciphertext is written out in groups of fixed length, the traditional group size +being 5 letters, and punctuation is excluded. This is to make it harder to guess +things based on word boundaries. + +## Examples +- Encoding `test` gives `gvhg` +- Decoding `gvhg` gives `test` +- Decoding `gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt` gives `The quick brown fox jumps over the lazy dog.` + +To run the tests simply run the command `go test` in the exercise directory. + +If the test suite contains benchmarks, you can run these with the `-bench` +flag: + + go test -bench . + +For more detailed info about the Go track see the [help +page](http://exercism.io/languages/go). + +## Source + +Wikipedia [http://en.wikipedia.org/wiki/Atbash](http://en.wikipedia.org/wiki/Atbash) + +## Submitting Incomplete Problems +It's possible to submit an incomplete solution so you can see how others have completed the exercise. + diff --git a/go/atbash-cipher/atbash.go b/go/atbash-cipher/atbash.go new file mode 100644 index 0000000..6d81291 --- /dev/null +++ b/go/atbash-cipher/atbash.go @@ -0,0 +1,36 @@ +package atbash + +import "strings" + +func Atbash(s string) string { + s = strings.ToLower(s) + var v []byte + var b, iter int + for i := range s { + sv := int(s[i]) + switch { + case sv < 48: + continue + case sv >= 48 && sv <= 57: + b = sv + case sv < 109: + b = 110 + (109 - sv) + case sv == 109: + b = 110 + case sv == 110: + b = 109 + case sv > 110: + b = 109 - (sv - 110) + } + v = append(v, byte(b)) + iter++ + if iter == 5 { + v = append(v, ' ') + iter = 0 + } + } + if iter == 0 { + return string(v)[:len(string(v))-1] + } + return string(v) +} diff --git a/go/atbash-cipher/atbash_cipher_test.go b/go/atbash-cipher/atbash_cipher_test.go new file mode 100644 index 0000000..08f274e --- /dev/null +++ b/go/atbash-cipher/atbash_cipher_test.go @@ -0,0 +1,40 @@ +package atbash + +import "testing" + +var tests = []struct { + expected string + s string +}{ + {"ml", "no"}, + {"ml", "no"}, + {"bvh", "yes"}, + {"lnt", "OMG"}, + {"lnt", "O M G"}, + {"nrmwy oldrm tob", "mindblowingly"}, + {"gvhgr mt123 gvhgr mt", "Testing, 1 2 3, testing."}, + {"gifgs rhurx grlm", "Truth is fiction."}, + {"gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt", "The quick brown fox jumps over the lazy dog."}, +} + +func TestAtbash(t *testing.T) { + for _, test := range tests { + actual := Atbash(test.s) + if actual != test.expected { + t.Errorf("Atbash(%s): expected %s, actual %s", test.s, test.expected, actual) + } + } +} + +func BenchmarkAtbash(b *testing.B) { + b.StopTimer() + for _, test := range tests { + b.StartTimer() + + for i := 0; i < b.N; i++ { + Atbash(test.s) + } + + b.StopTimer() + } +} diff --git a/go/atbash-cipher/cmd/cmd b/go/atbash-cipher/cmd/cmd new file mode 100755 index 0000000000000000000000000000000000000000..7dbaafd75d9617a4c74b25c96fce0fd0f7daeb74 GIT binary patch literal 1844766 zcmeEv3wTu3_3z}RgAmUkpb%mg?d zj-u68t5vLzs@3|a2DDZaKmur$hgU_a#YgQK$6Bf_1hwY=erumIb7mmW{@Z)Md%v%I zn)BGNwby&Cz4w{W#;C(nnaA2f|9XbFT~D-d~=*tG^xR81P;MYUL^5U5D!lZu?Gwe(%n2;veG|>vnGS zeOz3q0!{r2FA02mAC-N@UOV5b|IsaH!T-}Rha$QkcRqQA*(15HbshYz#{X=e@4ZRm zSGVhNy^9~WJnYqTuTfn6?R(vGrj+!$r>9&Sdbt(di^mV%+p}=vZ$I}@-G1()x_!i} z=w7pD69{}Sr~L}I{R+2zPIDQ{|L)S9_HAzaHn;slv22LL{>Hf9iT|@Pq$@P-)B@rY zQ7PbD{r||le3$9N<5NwkZCm}d1A%b%W8fe>``d5Zs@reds@sRo&2Es}z68a@X?pzO z6Lo{(z2#c_NH)Y_U7G$o5O@Ce^?#ToW%Yj`WPw1_c)6tigwuEW<_27{Mkpso;9o?K z-=&|@f3xc1?F#(wf7j)YVmB z|LMEZ{^p&1=xNifxsI%?bno^Bkk4O{zb@N9mean%ZC~NGpE5C9esbF%jrNoQPycv! z#IrA+9YGcOm)%<+Fbi+Jwr&;o(qFDi578qYjHhY%-_sxDd;Yry|EGCh-snF|4>?S3 zZaOd<;_N41ga6+C7X$yrz<)9DUkv;g1OLUqe=+b+Vu1ck8UE+>j2{L9C!KK8^r6E} zsJyuHqRNxXr%j(;RdM046HltBs=To3#Gxk)A3FV#i>roTIQ(K|^*XAvtE)?$a$(3= z_$xG5&7amOb4F>cvgJ?FU*0|-pv=Nj)iJs>Sd1FZ!sm+u${Jl-qO4eHNSU$Hh%!f) zD%KEBkvHOUDZ6OPmqFd!9<8edSt?M>%_|RH%zPcT74<(uOzAoufH8 zL2F)Jx5^p!hr&Q|7-sM)|7Fc*≈o(RHsK6c~{=CvR0_k#p0@`GGY>-^ZIgXH#oY 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

ov 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