말랑한 하루
[Programmers] 숫자 문자열과 영단어 (Lv 1, JavaScript) 본문
반응형
[ 학습 내용 ]
정규표현식 활용
- ReqExp() : ReqExp 객체를 생성합니다.
리터럴 표기법인 경우 두 빗금(//)을 쓰며 따옴표(")를 사용하지 않음
생성자 표기법인 경우 따옴표(")를 쓰며 두 빗금(//)으로 감싸지 않음
- flag : 단독 및 중첩사용이 가능함.
d : 부분 문자열 일치에 대해 인덱스를 생성
g : 전역 탐색
i : 대소문자 구분하지 않음
m : 여러줄에 걸쳐 탐색
s : 개행 문자가 . 과 일치함
u : "unicode", 패턴을 유니코드 코드 포인트의 시퀀스로 간주함
y : "접착"탐색, 대상 문자열의 현재 위치에서 탐색을 시작함
[ 소스 코드 ]
function solution(s) {
var answer = s.toLowerCase();
var number = ["zero", "one", "two", "three", "four",
"five", "six", "seven", "eight", "nine"];
number.map((n, index) => {
let req = new RegExp(n, "g");
answer = answer.replace(req, index);
})
return parseInt(answer);
}
[ 심화 코드 ]
function solution(s) {
let numbers = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];
var answer = s;
for(let i=0; i< numbers.length; i++) {
let arr = answer.split(numbers[i]);
answer = arr.join(i);
}
return Number(answer);
}
[ 코드 분석 ]
- 답이 숫자로 반환되어야 함
- 문자열을 number 문자열로 분리(split)후 해당 숫자(index)로 합침(join)
반응형
'문제풀이 > Programmers' 카테고리의 다른 글
[Programmers] 실패율 (Lv 1, JavaScript) (0) | 2022.07.06 |
---|---|
[Programmers] 크레인 인형뽑기 게임 (Lv 1, JavaScript) (0) | 2022.07.06 |
[Programmers] 키패드 누르기 (Lv 1, JavaScript) (0) | 2022.06.30 |
[Programmers] 신규 아이디 추천 (Lv 1, JavaScript) (0) | 2022.06.29 |
[Programmers] 신고 결과 받기 (Lv 1, JavaScript) (0) | 2022.06.27 |
Comments