문제 번호
알고리즘 분류
구현, 문자열
문제 풀이
오래전에 C++를 사용해서 풀었을때는 단순하게 조건식을 여러개 사용해서 풀이하였다.
좀 더 좋은 방법이 없을까 고민하다가 다음의 블로그에서 정규식을 사용하는것을 발견하였다.
그래서 정규식에 대해서 찾아보았다.
정말 간단하게 요약하자면 정규식이란 어떤 패턴을 만들어서 패턴에 해당하는 문자열 혹은 문자열중 일부 구간을 처리할 수 있다.
위의 두개의 링크를 참고하여서 문제에서 주어진 '크로아티아 알파벳'에 해당하는 8개의 문자들을 정규식으로 등록하고 해당 크로아티아 알파벳들을 공백으로 처리했다. 이 과정에서 String.replace() 메소드를 사용하였다.
const readline = require('readline');
var rl = readline.createInterface({
input:process.stdin,
output:process.stdout,
});
var input = [];
rl.on('line', function(line){
input.push(line);
});
rl.on('close',function(){
Solution(input)
});
function Solution(input){
var S = String(input[0]);
const RegExp = /c\=|c\-|dz\=|d\-|lj|nj|s\=|z\=/g;
const answer = S.replace(RegExp,' ');
//console.log(answer);
console.log(answer.length);
}
특이사항
문자열을 처리할때 정규식을 알고 있으면 간단하게 해결 할 수 있는 문제들이 종종 있어왔다.
'Algorithm > BaeKJoon' 카테고리의 다른 글
[JS][백준]2231_분해합 (0) | 2021.08.18 |
---|---|
[JS][백준]2798_블랙잭 (0) | 2021.08.18 |
[JS][백준]2908_상수 (0) | 2021.08.05 |
[JS][백준]1152_단어의 개수 (0) | 2021.08.05 |
[JS][백준]1157_단어 공부 (0) | 2021.08.05 |