본문 바로가기

Problem Solving/프로그래머스

[프로그래머스/C++] 콜라츠 추측


#include <string>
#include <vector>

using namespace std;

int solution(int num) {
    int answer = 0;
    for(answer; answer < 500; ++answer) {
        if(num == 1) break;
        num % 2 == 1 ? num = num*3 +1 : num /= 2;
    }
    return answer == 500 ? answer = -1 : answer;
}

3항 연산자를 이용해 해당 조건을 반복하도록하고 500번 이상 반복할 경우 -1을 리턴하도록 구현하였습니다.


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

 

코딩테스트 연습 - 콜라츠 추측

1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2

programmers.co.kr