728x90
문제
머쓱이는 친구들과 369게임을 하고 있습니다. 369게임은 1부터 숫자를 하나씩 대며 3, 6, 9가 들어가는 숫자는 숫자 대신 3, 6, 9의 개수만큼 박수를 치는 게임입니다. 머쓱이가 말해야하는 숫자 order가 매개변수로 주어질 때, 머쓱이가 쳐야할 박수 횟수를 return 하도록 solution 함수를 완성해보세요.
해결 과정
function solution(order) {
var answer = 0;
let count=0;
let number = order.toString().replace(/\B(?=(\d{1})+(?!\d))/g, ',');
for(let i = 0; i < number.length; i++) {
if(number[i] == 3 || number[i] == 6 || number[i] == 9) {
count++;
}
}
return count;
}
이 문제를 처음보고 아! 숫자를 3의 배수로 나눠야겠다고 생각했다. order는 숫자가 붙어있기에 불가능했다.
그뒤 다시 생각했다. order에서 9와 3을 꺼내자! 이 방법 역시 썩 좋은 방법은 아니였다.
숫자를 공백이나 콤마로 나눠보자! 공백보다는 콤마를 숫자 사이에 넣어 문제를 해결하고자 하는 생각이 강했다.
그러나 숫자 사이에 공백을 split을 작성해도 해결이 안되긴했다.(지금와서 생각해보면 order를 String으로 감싸서 풀면 수월하게 풀릴 수 있었다.)
콤마를 숫자 사이에 작성하는 방법은 모르기에 구글링을 통해 해결했다. (내가 참고했던 사이트이다. https://ziszini.tistory.com/45)
그뒤 if문을 통해 수월하게 문제를 풀 수 있었다.
728x90
'⌨️ 프로그래머스 > 코딩테스트 입문' 카테고리의 다른 글
[프로그래머스] 대문자와 소문자 | JS (0) | 2024.08.16 |
---|---|
[프로그래머스] 암호 해독 | JS (0) | 2024.08.15 |
[프로그래머스] 가까운 수 | JS (4) | 2024.08.15 |
[프로그래머스] 삼각형의 완성조건 (1) | JS (0) | 2024.08.13 |
[프로그래머스] 중복된 문자 제거 | JS (0) | 2024.08.13 |