문제
https://school.programmers.co.kr/learn/courses/30/lessons/120871
풀이
3의 저주... 369 게임을 한다고 생각해보면 된다. 이 게임은 직접 해봐야 알 수 있고 패턴을 계산하기에는 어렵다.
그래서 컴퓨터에게 369 게임을 시켜보려고 한다.
몇 번째 박수인지 진행되는 단계수 파악, 최종 리턴할 결과 값, 1,2,3,4 ...쭉쭉 이어져갈 숫자
step이 n번 진행될때마다 num에는 정상적인 숫자 패턴을 입력해주고
1. 3의 배수
2. 3이라는 문자가 포함
3. 3의 배수이면서 3이라는 문자가 포함
위의 3가지의 조건에 해당하지 않는 경우( else)에만 answer에 숫자를 대입해주고, step을 증가시킨다.
function solution(n) {
let step = 0; //진행된 단계 수
let answer = 0; //결과값
let num = 0; //숫자
while (step < n) {
num += 1;
// 3의 배수이거나 3이 들어가는 경우
if (num % 3 === 0 || String(num).includes("3")) {
} else {
step += 1;
answer = num;
}
}
return answer;
}
'개발 > 알고리즘(코딩테스트)' 카테고리의 다른 글
프로그래머스, 자바스크립트) 유한소수 판별하기 (0) | 2024.03.15 |
---|---|
프로그래머스, 자바스크립트) 문자열 밀기 (0) | 2024.03.14 |
프로그래머스, 자바스크립트) 치킨 쿠폰 (0) | 2024.03.09 |
프로그래머스, 자바스크립트) 전국 대회 선발 고사 (0) | 2024.03.08 |
프로그래머스, 자바스크립트) 등수 매기기 (0) | 2024.03.08 |