Backdrop

프로그래머스 ▸ 코딩 기초 트레이닝

x 사이의 개수
0

문제 설명

문자열 myString이 주어집니다. myString을 문자 "x"를 기준으로 나눴을 때 나눠진 문자열 각각의 길이를 순서대로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.

제한사항

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

입출력 예

myStringresult
"oxooxoxxox"[1, 2, 1, 0, 1, 0]
"xabcxdefxghi"[0, 3, 3, 3]

입출력 예 설명

입출력 예 #1

  • "x"를 기준으로 문자열을 나누면 ["o", "oo", "o", "", "o", ""]가 됩니다. 각각의 길이로 배열을 만들면 [1, 2, 1, 0, 1, 0]입니다. 따라서 [1, 2, 1, 0, 1, 0]을 return 합니다.

입출력 예 #2

  • "x"를 기준으로 문자열을 나누면 ["", "abc", "def", "ghi"]가 됩니다. 각각의 길이로 배열을 만들면 [0, 3, 3, 3]입니다. 따라서 [0, 3, 3, 3]을 return 합니다.

풀이

이론

String.prototype.split()

split() 메서드는 String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눠요.

split([separator[, limit]])
  • separator : 입력된 문자열을 기준으로 나눌 구분자를 지정해요. 정규식도 사용할 수 있어요.
  • limit : 반환할 문자열의 개수를 지정해요. 생략하면 배열의 길이는 제한이 없어요.
const str = 'The quick brown fox jumps over the lazy dog.';
 
const words = str.split(' ');
console.log(words[3]);
// Expected output: "fox"
 
const chars = str.split('');
console.log(chars[8]);
// Expected output: "k"
 
const strCopy = str.split();
console.log(strCopy);
// Expected output: Array ["The quick brown fox jumps over the lazy dog."]

코드

function solution(myString) {
  return myString.split('x').map(s => s.length);
}