PS/제코베 JS 100제

제코베 JS 100제 / 75 / 이상한 369

KimMinJun 2022. 9. 21. 20:56

369 게임을 하는데 조금 이상한 규칙이 있습니다. 3이나 6, 9 일 때만 박수를 쳐야합니다. 예를 들어 13, 16과 같이 3과 6, 9 만으로 된 숫자가 아닐 경우엔 박수를 치지 않습니다.

수현이는 박수를 몇 번 쳤는지 확인하고 싶습니다. 36일 때 박수를 쳤다면 박수를 친 횟수는 5번입니다.

n을 입력하면 박수를 몇 번 쳤는지 그 숫자를 출력해주세요.

 

/**
 * 1부터 n까지의 수 중에서 각 자릿수가 3,6,9 일때만 박수를 친 횟수
 * @param {Number} n 입력값
 * @returns {Number} 박수를 친 횟수
 */
function strange369(n) {
  let clapCnt = 0;
  let isValid = false; // 각 자릿수가 3,6,9 라면 true
  let seperateDigit = []; // 각 자릿수를 분리해서 저장하기 위한 변수

  for (let i = 1; i <= n; i++) {
    seperateDigit = i.toString().split("");
    isValid = seperateDigit.every((el) => el % 3 === 0 && el != 0);

    if (isValid) clapCnt += 1;
  }

  return clapCnt;
}

const n = 93;
const result = strange369(n);

console.log(result);