devlog_owen
[프로그래머스] 콜라츠 추측 본문
728x90
문제
작업을 반복한 횟수를 물어본다 => count
나의 풀이
function solution(num) {
let count = 0
while (num !== 1){ //num이 1이 될 때까지 반복, 1되면 while 루프 빠져나와 count값 반환
if (num%2===0){ //짝수인 경우 num을 2로 나누어 갱신
num /= 2
}else{
num=num*3+1 //홀수인 경우 num을 3곱하고 1 더해 갱신
}count ++ //각 반복에서 count 변수 1씩 증가=작업 반복한 횟수
if (count === 500){
return -1 //작업 500번 반복해도 num이 1 안되면 -1 반환
}
}
return count;
}
다른 사람 풀이
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;
}
if,else문이 있으면 삼항연산자가 가능한 것을...
회고
삼항연산자 적용해서 풀어보기
728x90
'algorithm > (js)프로그래머스' 카테고리의 다른 글
[프로그래머스] 시저 암호 (0) | 2023.11.07 |
---|---|
[프로그래머스] 두 정수 사이의 합 (0) | 2023.11.06 |
[프로그래머스] 크기가 작은 부분문자열 (0) | 2023.11.06 |
[프로그래머스] 이상한 문자 만들기 (0) | 2023.11.05 |
[프로그래머스] 최소직사각형 (0) | 2023.11.05 |