[TIL] 241224 (프로그래머스 세 개의 구분자)

·2024년 12월 24일

TIL

목록 보기
259/268
post-thumbnail

오늘 한 일

  • 알고리즘 코드카타
    • 세 개의 구분자

알고리즘 코드카타

세 개의 구분자

문제

임의의 문자열이 주어졌을 때 문자 "a", "b", "c"를 구분자로 사용해 문자열을 나누고자 합니다.

예를 들어 주어진 문자열이 "baconlettucetomato"라면 나눠진 문자열 목록은 ["onlettu", "etom", "to"] 가 됩니다.

문자열 myStr이 주어졌을 때 위 예시와 같이 "a", "b", "c"를 사용해 나눠진 문자열을 순서대로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.

단, 두 구분자 사이에 다른 문자가 없을 경우에는 아무것도 저장하지 않으며, return할 배열이 빈 배열이라면 ["EMPTY"]를 return 합니다.

풀이

function solution(myStr) {
    const result = myStr.split('a').map((el)=>el.split('b').join(" ")).map((el)=>el.split('c').join(" ")).join(" ").split(" ").filter((el)=>el)
    return result.length ? result : ["EMPTY"]
}

깔끔하지 못한 코드로 문제를 풀이했다. 고칠 점이 많아, 다음에 다시 풀어봐야겠다.

다른 사람의 풀이

function solution(myStr) {
    const list = myStr.split(/[a|b|c]/).filter(str => str);
    return list.length ? list : ["EMPTY"];
}
profile
웹 프론트엔드 개발자

0개의 댓글