https://school.programmers.co.kr/learn/courses/30/lessons/12943
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
그냥 for문을 돌려서 해결
- Java
근데 대충 돌려서 했더니 자꾸 어딘가 틀리는 것을 발견했다.
설마 int 범위 넘어가나? 라 생각하고 long으로 바꾸고 해결했다.
class Solution {
public int solution(int num) {
long n = num;
int answer = 0;
while(n!=1){
if(answer>500){
answer=-1;break;
}
if(n%2==0)
n/=2;
else n=n*3+1;
answer++;
}
return answer;
}
}
- Ruby
def solution(num)
answer = 0
while num!=1
if answer>500
answer=-1
break
end
if num%2==0
num=num/2
else
num=num*3+1
end
answer=answer+1
end
return answer
end
'Programmers > Java, Ruby' 카테고리의 다른 글
프로그래머스 Java / Ruby : 서울에서 김서방 찾기 (0) | 2022.10.13 |
---|---|
프로그래머스 Java / Ruby : 두 정수 사이의 합 (0) | 2022.10.11 |
프로그래머스 Java / Ruby : x만큼 간격이 있는 n개의 숫자 (0) | 2022.10.08 |
프로그래머스 Java / Ruby : 나머지가 1이 되는 수 찾기 (0) | 2022.10.07 |
프로그래머스 Java / Ruby : 문자열을 정수로 바꾸기 (0) | 2022.10.06 |