[프로그래머스 | JS] Lv0. 문자열 잘라서 정렬하기

HICHULOG·2023년 7월 12일
0

프로그래머스

목록 보기
17/38
post-thumbnail

문자열 잘라서 정렬하기

📝 문제

문자열 myString이 주어집니다. "x"를 기준으로 해당 문자열을 잘라내 배열을 만든 후 사전순으로 정렬한 배열을 return 하는 solution 함수를 완성해 주세요.
단, 빈 문자열은 반환할 배열에 넣지 않습니다.

⛔️ 제한 사항

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

💡 풀이

function solution(myString) {
    return myString.split("x").filter(x=>x!=="").sort();
}

=> x로 나누어주고 공백을 포함하고 있지 않은 경우만 배열에 남겨준다. 그리고 정렬해준다.
sort()에 compareFunction이 제공되지 않으면 요소를 문자열로 변환하고 유니 코드 코드 포인트 순서로 문자열을 비교하여 정렬됩니다. 예를 들어 "바나나"는 "체리"앞에옵니다. 숫자 정렬에서는 9가 80보다 앞에 오지만 숫자는 문자열로 변환되기 때문에 "80"은 유니 코드 순서에서 "9"앞에옵니다.

[유니 코드 코드 포인트]

✅ 다른 풀이

const solution=s=>s.match(/[^x]+/g).sort()
}

=> match()메서드는 문자열이 정규식과 일치하면, 일치하는 전체 문자열을 첫 번째 요소로 포함하는 Array를 반환한 다음 괄호 안에 캡처된 결과가 온다. 일치하는 것이 없으면 null이 반환된다. 위 정규식은 x를 제외한 문자가 한번이상 반복됨을 의미한다.

🚀 TIL

profile
🚀 Front-end Dev

0개의 댓글