[leetcode] 1
LeetCode 1108 Defanging an IP Address
Problem
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"
My Solution Java
입력된 String에서 .
을 [.]
로 대체를 하면 된다 . 그래서 string의 replace
method를 사용하려함
class Solution {
public String defangIPaddr(String address) {
String result =address.replaceAll("\\.","[.]");
return result;
}
}
여기서 address.resplaceAll('.',"[.]")
은 동작은 하지만 원하는 결과를 얻을 수 없다.
replace
함수를 사용하면 상관없지만 만약에 replaceAll
함수를 사용할 시 '.'
을 사용하면 전체 문장을 [.]
로 replace 한다.
'.'
가 정규식 예약어이기 때문이다. 그렇기 때문에 정규식을 무시하기 위해 \\
을 추가하여
String result =address.replaceAll("\\.","[.]");
Solution JavaScript
JavaScript는 replace
함수를 사용하면 하나의 char
만 replace 하고 동작을 멈춘다. 그렇기 때문에 /[.]/g
을 활용하여 패턴을 분석 하게 한다.
var defangIPaddr = function(address) {
var result =address.replace(/[.]/g,'[.]');
return result;
};