[JavaScript] Lv0 - 문자열 잘라서 정렬하기

Moon·2025년 2월 15일
0
post-thumbnail

문자열 잘라서 정렬하기

문제 설명

문자열 myString이 주어집니다. "x"를 기준으로 해당 문자열을 잘라내 배열을 만든 후 사전순으로 정렬한 배열을 return 하는 solution 함수를 완성해 주세요.

단, 빈 문자열은 반환할 배열에 넣지 않습니다.


제한사항

  • 1 ≤ myString ≤ 100,000
    • myString은 알파벳 소문자로 이루어진 문자열입니다.

입출력 예

myStringresult
"axbxcxdx"["a","b","c","d"]
"dxccxbbbxaaaa"["aaaa","bbb","cc","d"]

입출력 예 설명

입출력 예 #1

  • myString을 "x"를 기준으로 자른 배열은 ["a","b","c","d"]이며, 이 배열은 이미 사전순으로 정렬된 상태입니다. 따라서 해당 배열을 return 합니다.

입출력 예 #2

  • myString을 "x"를 기준으로 자른 배열은 ["d","cc","bbb","aaaa"]이며, 이 배열을 사전순으로 정렬하면 ["aaaa","bbb","cc","d"]입니다. 따라서 해당 배열을 return 합니다.

function solution(myString) {
    return myString
        .match(/[^x]+/g) // "x"를 제외한 연속된 문자열 추출
        .sort(); // 사전순 정렬
}

코드설명

  1. 정규표현식 [^x]+:
    • [^x]: "x"를 제외한 문자 하나를 의미합니다.
    • +: 1개 이상의 연속된 문자를 매칭합니다.
    • /[^x]+/g: "x"를 기준으로 나누어진 문자열 조각들을 배열로 반환합니다.
      • "axbxcxdx"["a", "b", "c", "d"].
      • "dxccxbbbxaaaa"["d", "cc", "bbb", "aaaa"].
  2. match 메서드:
    • 정규표현식 /[^x]+/g을 이용하여 "x"를 제외한 문자열 부분들을 배열로 추출합니다.
    • 빈 문자열은 자동으로 제거되므로 filter가 필요 없습니다.
  3. 사전순 정렬:
    • 추출된 배열을 .sort()로 사전순 정렬합니다.
profile
MOON.DEVLOG

0개의 댓글