From 2b64b215fd5d4bf5e33c5f538f8537d286e34e9a Mon Sep 17 00:00:00 2001 From: openset Date: Tue, 12 Nov 2019 11:48:42 +0800 Subject: [PATCH] Add: Defanging an IP Address --- internal/leetcode/problems_status.go | 1 + .../defanging_an_ip_address.go | 4 +-- .../defanging_an_ip_address_test.go | 27 +++++++++++++++++++ 3 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 problems/defanging-an-ip-address/defanging_an_ip_address_test.go diff --git a/internal/leetcode/problems_status.go b/internal/leetcode/problems_status.go index 13f1b20dc..797e4be0e 100644 --- a/internal/leetcode/problems_status.go +++ b/internal/leetcode/problems_status.go @@ -217,6 +217,7 @@ var problemStatus = map[int]bool{ 1046: true, 1047: true, 1051: true, + 1108: true, 1154: true, 1163: true, 1185: true, diff --git a/problems/defanging-an-ip-address/defanging_an_ip_address.go b/problems/defanging-an-ip-address/defanging_an_ip_address.go index a5052c794..e4509ab0c 100644 --- a/problems/defanging-an-ip-address/defanging_an_ip_address.go +++ b/problems/defanging-an-ip-address/defanging_an_ip_address.go @@ -1,7 +1,7 @@ -package defanging_an_ip_address +package problem_1108 import "strings" func defangIPaddr(address string) string { - return strings.Replace(address, ".", "[.]", -1) + return strings.ReplaceAll(address, ".", "[.]") } diff --git a/problems/defanging-an-ip-address/defanging_an_ip_address_test.go b/problems/defanging-an-ip-address/defanging_an_ip_address_test.go new file mode 100644 index 000000000..39029314c --- /dev/null +++ b/problems/defanging-an-ip-address/defanging_an_ip_address_test.go @@ -0,0 +1,27 @@ +package problem_1108 + +import "testing" + +type caseType struct { + input string + expected string +} + +func TestDefangIPaddr(t *testing.T) { + tests := [...]caseType{ + { + input: "1.1.1.1", + expected: "1[.]1[.]1[.]1", + }, + { + input: "255.100.50.0", + expected: "255[.]100[.]50[.]0", + }, + } + for _, tc := range tests { + output := defangIPaddr(tc.input) + if output != tc.expected { + t.Fatalf("input: %v, output: %v, expected: %v", tc.input, output, tc.expected) + } + } +}