코딩테스트 연습
2021 카카오 채용연계형 인턴십
숫자 문자열과 영단어
주어진 문자열에서 string으로 이루어진 숫자를 Number 타입으로 바꿔라.
정규식과 replace함수로 해당 숫자를 찾아 바꿔줌.
function solution(s) {
s = s.replace(/zero/g, 0)
.replace(/one/g, 1)
.replace(/two/g, 2)
.replace(/three/g, 3)
.replace(/four/g, 4)
.replace(/five/g, 5)
.replace(/six/g, 6)
.replace(/seven/g, 7)
.replace(/eight/g, 8)
.replace(/nine/g, 9)
return s*1;
}
string 메소드를 잘못 사용해서 시간을 많이 허비했다.
s.replace(s.match(/zero/g), 0);
^ : 문자열의 시작을 의미
[ㄱ-ㅎ|가-힣|a-z|A-Z|0-9|] : 한글, 소문자 영어, 대문자 영어, 숫자에 해당하는 문자 1개를 의미
+ : 문자 1개 이상을 의미
$ : 문자열의 끝을 의미
i : 대소문자 노상관
g : 전역
m : 행바뀜 노상관
regex.test(string) : 해당하는지 T/F검사
regex.exec(string) : 매칭 결과를 배열로 반환, 없으면 null
string.match(regex) : 매칭 결과를 배열로 반환
string.replace(/regex/g,"") : regex에 해당하는 문자를 ""로 변경
const regex = /^[ㄱ-ㅎ|가-힣|a-z|A-Z|0-9|]+$/;//처음부터 끝까지
let str = "aaaa123";
console.log(regex.test(str));