369게임

Haizel·2023년 2월 14일
0

🧬 알고리즘 풀이

목록 보기
1/53
post-thumbnail

문제 설명

머쓱이는 친구들과 369게임을 하고 있습니다. 369게임은 1부터 숫자를 하나씩 대며 3, 6, 9가 들어가는 숫자는 숫자 대신 3, 6, 9의 개수만큼 박수를 치는 게임입니다. 머쓱이가 말해야하는 숫자 order가 매개변수로 주어질 때, 머쓱이가 쳐야할 박수 횟수를 return 하도록 solution 함수를 완성해보세요.

입출력 예

내 풀이

function solution(order) {
let count = 0;
let string = (order).toString(); "29423";

    for (let el of string) {
        if (el.includes(3)) {
          count++;
        } if (el.includes(6)) {
          count++;
        }  if (el.includes(9)) {
          count++;
        }
    }

    return count;
}
💡 코드 풀이
  1. 일단 입력값인 숫자를 반복문으로 순회하기 위해 → 문자열로 바꿔주었다 .toString()
  2. 반복문을 통해 문자열 안에 3, 6, 9가 포함되어 있으면 count 되겠금 짜주었다 .includes
💡 개선할 점
  1. 찾을 값만 다른 반복문과 조건문을 너무 많이 반복하였다.

Better 풀이

function solution(order) {
    var answer = [...order.toString().matchAll(/[3|6|9]/g)].length;
    return answer;
}
💡 코드 풀이
  1. 숫자를 문자열로 바꿔준 건 같지만, 정규표현식을 이용해 3, 6, 9에 일치하는 index를 찾아 length로 리턴했다.
💡 배워야 할 점
  1. length로 리턴하면 되겠다고 생각했는데, 구현하지 못했다.
  2. 정규표현식 너무 편하다…..많이 쓸 수 있는 정규표현식을 중점으로 공부해보자.
profile
한입 크기로 베어먹는 개발지식 🍰

0개의 댓글

관련 채용 정보