๋ฌธ์ ์ค๋ช
1937๋ Collatz๋ ์ฌ๋์ ์ํด ์ ๊ธฐ๋ ์ด ์ถ์ธก์, ์ฃผ์ด์ง ์๊ฐ 1์ด ๋ ๋๊น์ง ๋ค์ ์์ ์ ๋ฐ๋ณตํ๋ฉด, ๋ชจ๋ ์๋ฅผ 1๋ก ๋ง๋ค ์ ์๋ค๋ ์ถ์ธก์ ๋๋ค. ์์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
1-1. ์
๋ ฅ๋ ์๊ฐ ์ง์๋ผ๋ฉด 2๋ก ๋๋๋๋ค.
1-2. ์
๋ ฅ๋ ์๊ฐ ํ์๋ผ๋ฉด 3์ ๊ณฑํ๊ณ 1์ ๋ํฉ๋๋ค.
2. ๊ฒฐ๊ณผ๋ก ๋์จ ์์ ๊ฐ์ ์์
์ 1์ด ๋ ๋๊น์ง ๋ฐ๋ณตํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ์ฃผ์ด์ง ์๊ฐ 6์ด๋ผ๋ฉด 6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1 ์ด ๋์ด ์ด 8๋ฒ ๋ง์ 1์ด ๋ฉ๋๋ค. ์ ์์ ์ ๋ช ๋ฒ์ด๋ ๋ฐ๋ณตํด์ผ ํ๋์ง ๋ฐํํ๋ ํจ์, solution์ ์์ฑํด ์ฃผ์ธ์. ๋จ, ์ฃผ์ด์ง ์๊ฐ 1์ธ ๊ฒฝ์ฐ์๋ 0์, ์์ ์ 500๋ฒ ๋ฐ๋ณตํ ๋๊น์ง 1์ด ๋์ง ์๋๋ค๋ฉด –1์ ๋ฐํํด ์ฃผ์ธ์.
์ ํ ์ฌํญ- ์ ๋ ฅ๋ ์, num์ 1 ์ด์ 8,000,000 ๋ฏธ๋ง์ธ ์ ์์ ๋๋ค.
6 | 8 |
16 | 4 |
626331 | -1 |
์ ๋ ฅ๋ฐ์ num์ด 1์ด ๋ ๋๊น์ง ๋ฐ๋ณตํ๊ณ , ๋ฐ๋ณตํ์๋ฅผ countํ์ฌ 500์ด ๋๋ฉด -1์ ๋ฐํํ๊ณ ์ข ๋ฃ
class Solution {
public int solution(long num) {
int answer = 0;
while(num!=1){
if(num%2==0){
num/=2;
}else{
num=num*3+1;
}
answer++;
if(answer==500){
answer=-1;
break;
}
}
return answer;
}
}
'๐ ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค & ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค][JAVA]Level 1 : ์์ธ์์ ๊น์๋ฐฉ ์ฐพ๊ธฐ (0) | 2022.10.09 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค][JAVA]Level 1 : ํ์ค๋ ์ (1) | 2022.10.08 |
[ํ๋ก๊ทธ๋๋จธ์ค][JAVA]Level 1 : ๋๋จธ์ง๊ฐ 1์ด ๋๋ ์ ์ฐพ๊ธฐ (0) | 2022.10.08 |
[ํ๋ก๊ทธ๋๋จธ์ค][JAVA]Level 1 : ๋ฌธ์์ด ๋ด p์ y์ ๊ฐ์ (0) | 2022.10.08 |
[๋ฐฑ์ค][JAVA]2164๋ฒ : ํ(์นด๋2) (1) | 2022.10.08 |