[Algorithm] programmers level 1 : 콜라츠 추측

sunny·2021년 3월 13일
0
post-thumbnail

문제

https://programmers.co.kr/learn/courses/30/lessons/12943


풀이

우선 횟수를 카운트할 cnt 변수를 설정 후 while문으로 num이 1이 될때까지 반복문을 돌린다. num이 짝수인지 홀수인지 판단해 짝수일 경우 num에 /2를, 홀수일 경우 (num * 3) + 1을 해주고, cnt변수를 증감한다.
만약에 cnt변수가 500 이상일 경우 작업을 500번 반복해도 1이 되지 않는 경우이기 때문에 -1을 리턴한다.
방법2는 cnt변수를 따로 사용하지 않고 for문을 0부터 499까지 반복해 i를 cnt변수 대신 횟수를 카운트하는 용도로 사용하였다. 이미 num이 1일 경우 그냥 i를 리턴하고 아닐 경우에만 짝수인지 홀수인지를 판단해 계산해주었다. for문이 500번이 넘어갈 경우는 for문 밖에서 -1을 리턴하였다.


결과

profile
blog 👉🏻 https://kimnamsun.github.io/

0개의 댓글