728x90
프로그래머스 문제 풀이 29
콜라츠 추측 : 주어진 수가 1이 될 때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측
01. 문제
function solution(num) {
var answer = 0;
return answer;
}
02. 나의 문제 풀이
function solution(num) {
let answer = 0;
while (num != 1) {
if (num % 2 == 0){
num /= 2;
} else {
num = (num * 3) + 1;
}
answer += 1;
}
if (answer >= 500) {
return -1;
} else {
return answer;
}
}
03. 다른 사람의 문제 풀이
function collatz(num) {
var answer = 0;
while(num !=1 && answer !=500){
num%2==0 ? num = num/2 : num = num*3 +1;
answer++;
}
return num == 1 ? answer : -1;
}
// 아래는 테스트로 출력해 보기 위한 코드입니다.
console.log( collatz(6) );
똑같이 while문으로 num 이 1이 아닐때와 answer가 500이 안될 때 다시 짝수일 시 num을 2로 나누고, 홀수일 시 num 에 2을 곱하고 더하기 1을 하며 answer가 하나씩 증가하는 반복문이다.
728x90
'Javascript' 카테고리의 다른 글
프로그래머스 문제 풀이 31 (1) | 2022.11.29 |
---|---|
프로그래머스 문제 풀이 30 (2) | 2022.11.28 |
프로그래머스 문제 풀이 28 (1) | 2022.11.24 |
프로그래머스 문제 풀이 27 (1) | 2022.11.22 |
프로그래머스 문제 풀이 26 (2) | 2022.11.21 |
댓글