# Level 0. 모음 제거

모음 제거

문제 설명

영어에선 a, e, i, o, u 다섯 가지 알파벳을 모음으로 분류합니다. 문자열 my_string이 매개변수로 주어질 때 모음을 제거한 문자열을 return하도록 solution 함수를 완성해주세요.

제한사항

문제 풀이

1
2
3
4
5
6
7
function solution(my_string) {
  const vowel = ["a", "e", "i", "o", "u"];
  return my_string
    .split("")
    .filter((char) => !vowel.includes(char))
    .join("");
}

# Level 0. 컨트롤 제트

컨트롤 제트

문제 설명

숫자와 “Z”가 공백으로 구분되어 담긴 문자열이 주어집니다. 문자열에 있는 숫자를 차례대로 더하려고 합니다. 이 때 “Z”가 나오면 바로 전에 더했던 숫자를 뺀다는 뜻입니다. 숫자와 “Z”로 이루어진 문자열 s가 주어질 때, 머쓱이가 구한 값을 return 하도록 solution 함수를 완성해보세요.

제한사항

문제 풀이

1
2
3
4
5
6
7
8
9
10
11
function solution(s) {
  let answer = 0;
  s = s.split(" ");
  s.forEach((num, index) => {
    if (index === 0) return;
    if ((num === "Z") | (s[index - 1] === "Z")) return;
    answer += s[index - 1] * 1;
  });
  answer += s[s.length - 1] !== "Z" ? s[s.length - 1] * 1 : 0;
  return answer;
}

# Level 0. 공 던지기

공 던지기

문제 설명

머쓱이는 친구들과 동그랗게 서서 공 던지기 게임을 하고 있습니다. 공은 1번부터 던지며 오른쪽으로 한 명을 건너뛰고 그다음 사람에게만 던질 수 있습니다. 친구들의 번호가 들어있는 정수 배열 numbers와 정수 K가 주어질 때, k번째로 공을 던지는 사람의 번호는 무엇인지 return 하도록 solution 함수를 완성해보세요.

제한사항

풀이

1
2
3
4
5
const solution = (numbers, k) => {
  const passedLength = (k - 1) * 2;
  const index = passedLength % numbers.length;
  return numbers[index];
};

# Level 0. 합성수 찾기

합성수 찾기

문제 설명

약수의 개수가 세 개 이상인 수를 합성수라고 합니다. 자연수 n이 매개변수로 주어질 때 n이하의 합성수의 개수를 return하도록 solution 함수를 완성해주세요.

제한사항

첫번째 풀이

1
2
3
4
5
6
7
8
9
10
11
12
const solution = (n) => {
  let answer = 0;
  for (let i = 4; i <= n; i++) {
    for (let j = 2; j <= Math.floor(Math.sqrt(i)); j++) {
      if (i % j === 0) {
        answer++;
        break;
      }
    }
  }
  return answer;
};

두번째 풀이

1
2
3
4
5
6
7
8
9
10
11
12
13
14
const solution = (n) => {
  const screener = new Array(n + 1).fill(false);
  for (let i = 2; i <= Math.floor(Math.sqrt(n)); i++) {
    if (screener[i]) continue;

    let multiplier = 2;
    while (i * multiplier <= n) {
      screener[i * multiplier] = true;
      multiplier++;
    }
  }

  return screener.filter((result) => result).length;
};

# Level 0. 문자열 나누기

문자열 나누기

문제 설명

문자열 s가 입력되었을 때 다음 규칙을 따라서 이 문자열을 여러 문자열로 분해하려고 합니다.

문자열 s가 매개변수로 주어질 때, 위 과정과 같이 문자열들로 분해하고, 분해한 문자열의 개수를 return 하는 함수 solution을 완성하세요.

첫번재 풀이

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
function solution(s) {
  let answer = 0;
  let currChar = "";
  let sameCount = 0;
  let diffCount = 0;
  let isSplitted = true;
  s.split("").forEach((char) => {
    if (isSplitted) {
      answer++;
      currChar = char;
      sameCount = 1;
      diffCount = 0;
      isSplitted = false;
      return;
    }

    if (currChar === char) {
      sameCount++;
    } else {
      diffCount++;
    }

    if (sameCount === diffCount) {
      isSplitted = true;
    }
  });
  return answer;
}