개발/알고리즘(코딩테스트)

프로그래머스, 자바스크립트) 세 개의 구분자

빔네모 2024. 1. 11. 22:13

문제

https://school.programmers.co.kr/learn/courses/30/lessons/181862

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

풀이

해당 문자열을 정규식을 이용해 abc를 탐색 후 공백으로 치환한다.

공백기준으로 문자열을 쪼갠 후 => 공백을 필터링해서 제거한다.

만약 문자열의 길이가 0이라면, 조건대로 empty를 리턴해준다.

 

해당 문자에서 a,b,c를 어떻게 찾느냐..가 문제의 쟁점인거 같다.

function solution(myStr) {
  const str = myStr
    .replace(/[abc]/g, " ")
    .split(" ")
    .filter((x) => x !== "");
  return str.length === 0 ? ["EMPTY"] : str;
}

 

다른 풀이

a,b,c를 제외한 부분이 있는지 매칭한 다음 값이 없을 경우 empty를 리턴해준다.

const solution=s=>s.match(/[^a-c]+/g)||['EMPTY']