반응형
이번에는 콜라츠 추측 문제를 풀어보았습니다.
문제는 다음과 같습니다.
https://programmers.co.kr/learn/courses/30/lessons/12943
풀이 방법
- 이 문제는 단순 구현의 문제입니다.
- 따라서 주어진 요구사항에 맞게 코드를 짜면 됩니다.
- 핵심 요구사항은 3가지입니다.
- 1. 입력된 수가 짝수라면 2로 나눕니다.
- 2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다.
- 3. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다.
소스 코드
- 1. 입력된 수가 짝수라면 2로 나눕니다.
- 2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다.
- 삼항 연산자를 이용해서 2로 나눴을 때 나머지를 이용해서 num을 할당하였습니다.
num = num%2===0? parseInt(num/2): num*3+1;
- 3. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다.
- 문제의 조건에서 작업을 500번 반복하면 -1을 출력해야하므로 조건문을 이용해서 구현하였습니다.
while(num!==1){
if(answer>=500){
answer = -1;
break;
}
num = num%2===0? parseInt(num/2): num*3+1;
answer++;
}
반응형
'알고리즘' 카테고리의 다른 글
정수 내림차순으로 배치하기 - 프로그래머스 level 1 (0) | 2021.06.21 |
---|---|
정수 제곱근 판별 - 프로그래머스 level 1 (0) | 2021.06.20 |
최대공약수와 최소공배수 - 프로그래머스 level1 (0) | 2021.06.18 |
짝수와 홀수 - 프로그래머스 level1(Javascript) (0) | 2021.06.15 |
프로그래머스 x만큼 간격이 있는 n개의 숫자 - level1 (0) | 2021.06.15 |