반응형
🔺 문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
🔺 코드
import java.util.*;
class Solution {
public int solution(int num) {
int answer = 0;
long n = num;
while(n != 1) {
if(n % 2 == 0) {
n /= 2;
} else {
n = n * 3 + 1;
}
answer++;
if(answer > 500) {
return -1;
}
}
return answer;
}
}
유의할 점 ‼ n을 int가 아니라 long으로 해야 값이 올바르게 나온다.
그 이유는 오버플로우가 발생하기 때문이라고...
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
🔺 다른 풀이들
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
class Collatz {
public int collatz(int num) {
int answer = 0;
for (int i = 0; i < 500; i++) {
num = (num % 2 == 0) ? (num / 2) : (num * 3 + 1);
if (num == 1) return i + 1;
}
return -1;
}
}
for문을 사용하셨당
반응형
'코테 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/Lv. 1] 핸드폰 번호 가리기 (0) | 2023.03.03 |
---|---|
[프로그래머스/Lv. 1] 크기가 작은 부분문자열 (0) | 2023.03.03 |
[프로그래머스/Lv. 1] 소수 찾기 (0) | 2023.03.02 |
[프로그래머스/Lv. 1] 부족한 금액 계산하기 (0) | 2023.03.02 |
[프로그래머스/Lv. 1] 서울에서 김서방 찾기 (0) | 2023.03.01 |