프로그래머시 Lv.1 콜라츠 추측
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | function solution(num) { let answer = num; let result = 0; if(num === 1) { return 0; } for(let i = 1; i < 501; i++) { if(answer % 2 === 0) { answer /= 2; } else { answer = (answer * 3) + 1; } result = i; if(answer === 1){ break; } } if(answer !== 1) { return -1; } return result; } | cs |
변수
answer
에 매개변수num
을 할당해준다.만약
num
이 1이라면 바로 1이 되는 조건이 성립 하기 때문에 return값은 0이 된다.반복문의
i
가 1부터 500번까지 증가 할 동안 만약answer
가 짝수이면 나누기 2를 하고, 홀수이면 3을 곱한후 1을 더해준다.변수
result
에 증가한i
값을 할당하여 실행 횟수를 나타낸다.만약
answer
이 1이 되었다면break
가 작동해서 반복문이 종료된다.반복문이 종료된 뒤
answer
이 1이 아니라면 -1을 return 한다.반복문의
answer
이 1로 종료되었다면result
값을 return 한다.