|
@@ -0,0 +1,36 @@
|
|
|
|
|
+package main;
|
|
|
|
|
+// 1108. Defanging an IP Address
|
|
|
|
|
+
|
|
|
|
|
+import (
|
|
|
|
|
+ "os"
|
|
|
|
|
+ "fmt"
|
|
|
|
|
+)
|
|
|
|
|
+
|
|
|
|
|
+func defangIPaddr(address string) string {
|
|
|
|
|
+ var res [3+3+3+3+9]rune
|
|
|
|
|
+ var i int = 0
|
|
|
|
|
+
|
|
|
|
|
+ for _, c := range address {
|
|
|
|
|
+ if c == '.' {
|
|
|
|
|
+ res[i] = '['; i += 1
|
|
|
|
|
+ res[i] = '.'; i += 1
|
|
|
|
|
+ res[i] = ']'; i += 1
|
|
|
|
|
+ continue
|
|
|
|
|
+ }
|
|
|
|
|
+ res[i] = c
|
|
|
|
|
+ i += 1
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return string(res[:i])
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+func main() {
|
|
|
|
|
+ r := func (addr string) {
|
|
|
|
|
+ fmt.Printf("defangIPaddr(\"%s\") -> \"%s\"\n", addr, defangIPaddr(addr))
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ r("1.1.1.1")
|
|
|
|
|
+ r("255.100.50.0")
|
|
|
|
|
+
|
|
|
|
|
+ os.Exit(0)
|
|
|
|
|
+}
|