1108. Defanging an IP Address
Description
Given a valid (IPv4) IP address, return a defanged version of that IP address.
A defanged IP address replaces every period "." with "[.]".
Example 1:
- Input: address = “1.1.1.1”
- Output: “1[.]1[.]1[.]1”
Example 2:
- Input: address = “255.100.50.0”
- Output: “255[.]100[.]50[.]0”
Constraints:
- The given
addressis a valid IPv4 address.
Submitted Code
class Solution:
def defangIPaddr(self, address: str) -> str:
result = []
for c in address:
if c == ".":
result.append("[.]")
else:
result.append(c)
return "".join(result)
Runtime: 29 ms | Beats 93.39%
Memory: 17.10 MB | Beats 99.65%
replace(".", "[.]")로 바로 리턴할 수도 있지만, 리스트를 따로 만들어서 저장하는 위 방법이 훨씬 빨랐다.
Other Solutions
1st
class Solution:
def defangIPaddr(self, address: str) -> str:
return address.replace('.', '[.]')
def defangIPaddr(self, address: str) -> str:
return '[.]'.join(address.split('.'))
def defangIPaddr(self, address: str) -> str:
return re.sub('\.', '[.]', address)
def defangIPaddr(self, address: str) -> str:
return ''.join('[.]' if c == '.' else c for c in address)
time complexity: 𝑂(𝑛)
space complexity: 𝑂(𝑛)
split()이나 re.sub()를 이용하는 방법도 참고했다.