게으른개발너D

[JS] 정규식 응용 본문

알고리즘/문제

[JS] 정규식 응용

lazyhysong 2023. 6. 4. 01:27
알파벳 소문자로 이루어진 문자열 myString이 주어집니다.
알파벳 순서에서 "l"보다 앞서는 모든 문자를 "l"로 바꾼 문자열을 return 하는 solution 함수를 완성해 주세요.
function solution(my_string) {
    return my_string.replace(/[a-k]/g,'l');
}

 

 

영소문자로 이루어진 문자열 my_string과 영소문자 1글자로 이루어진 문자열 alp가 매개변수로 주어집니다.
my_string에서 alp에 해당하는 모든 글자를 대문자로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.
function solution(my_string, alp) {
    let re = new RegExp(alp, "g");
    return my_string.replace(re, alp.toUpperCase());
}

 

 

문자열 my_string이 매개변수로 주어집니다.
my_string 안에 있는 숫자만 골라 오름차순 정렬한 리스트를 return 하도록 solution 함수를 작성해보세요.
function solution(my_string) {
    return my_string
      .match(/\d/g)
      .sort((a, b) => a - b)
      .map(n => Number(n));
}

 

 

임의의 문자열이 주어졌을 때 문자 "a", "b", "c"를 구분자로 사용해 문자열을 나누고자 합니다.
예를 들어 주어진 문자열이 "baconlettucetomato"라면 나눠진 문자열 목록은 ["onlettu", "etom", "to"] 가 됩니다.
문자열 myStr이 주어졌을 때 위 예시와 같이 "a", "b", "c"를 사용해 나눠진 문자열을 순서대로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.
단, 두 구분자 사이에 다른 문자가 없을 경우에는 아무것도 저장하지 않으며, return할 배열이 빈 배열이라면 ["EMPTY"]를 return 합니다.
function solution(myStr) {
   return myStr.match(/[^a-c]+/g)||['EMPTY'];
}
function solution(myStr) {
    myStr = myStr.split(/[a|b|c]/).filter(str => str);
    return myStr.length ? myStr : ["EMPTY"];
}


function solution(myStr) {
    myStr = myStr.split(/[abc]/g).filter(s => s);
    return myStr.length ? myStr : ['EMPTY'];
}


function solution(myStr) {
    myStr = myStr.split(/[abc]/).filter(e => e);
    return myStr.length == 0 ? ["EMPTY"] : myStr;
}
function solution(myStr) {
    const regex = /a|b|c/g
    const test = myStr.replaceAll(regex, ' ').split(' ').filter((v)=>v)
    return test.length !== 0 ? test : ["EMPTY"]
}

 

'알고리즘 > 문제' 카테고리의 다른 글

[JS] Bitwise XOR (^)  (0) 2023.06.07
[JS] endsWith  (0) 2023.06.05
[JS] Hash Table - 베스트앨범  (1) 2023.04.20
[JS] Queue - 프린터  (0) 2023.04.16
[JS] Heap - 배상 비용 최소화  (0) 2023.03.23
Comments