한 걸음씩

[프로그래머스][JS] 세 개의 구분자 ✅ 본문

Programmers

[프로그래머스][JS] 세 개의 구분자 ✅

winter17 2023. 6. 4. 15:50

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

 

프로그래머스

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

programmers.co.kr

풀이 과정

function solution(myStr) {
    const empty = ['a', 'b', 'c']
    const newArray = myStr.split('').map(item => empty.includes(item)? ' ' : item).join('').split(' ');
    // 	join('').split(' ') 하기 전 : [' ', ' ', ' ', 'o', 'n','l', 'e', 't', 't', 'u',' ', 'e', 't', 'o', 'm',' ', 't', 'o']
    //  join('') : onlettu etom to // 빈 문자열 기준으로 합쳐라
    // 	join('').split(' ') : [ '', '', '', 'onlettu', 'etom', 'to' ] => 공백을 기준으로 배열
    const answer = newArray.filter(item => item.length >= 1) // 요소의 길이가 1이상인 것만
    if (answer.length === 0) {
        answer.push('EMPTY');
    } // 빈 배열인 경우 'EMPTY' 추가
    return answer;
}

리뷰

처음에 반복문과 replace조합으로 풀었는데 시간초과가 발생해서 한참 난항을 겪다가 map, filter 메서드로 풀었다.

gpt의 도움을 많이 받아서 복습이 필요한 문제다!