midnightly
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฝ๋ผ์ธ ์ถ์ธก (JAVA) ๋ณธ๋ฌธ
๐ ๋ฌธ์
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์ ์์ฑํด ์ฃผ์ธ์. ๋จ, ์์ ์ 500๋ฒ์ ๋ฐ๋ณตํด๋ 1์ด ๋์ง ์๋๋ค๋ฉด โ1์ ๋ฐํํด ์ฃผ์ธ์.
๐ ํ์ด
class Solution {
public int solution(long num) {
int answer = 0;
while (num != 1) {
num = num % 2 == 0 ? num / 2 : num * 3 + 1;
answer++;
if (answer >= 500) {
return -1;
}
}
return answer;
}
}
https://programmers.co.kr/learn/courses/30/lessons/12943
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ฝ๋ผ์ธ ์ถ์ธก
1937๋ Collatz๋ ์ฌ๋์ ์ํด ์ ๊ธฐ๋ ์ด ์ถ์ธก์, ์ฃผ์ด์ง ์๊ฐ 1์ด ๋ ๋๊น์ง ๋ค์ ์์ ์ ๋ฐ๋ณตํ๋ฉด, ๋ชจ๋ ์๋ฅผ 1๋ก ๋ง๋ค ์ ์๋ค๋ ์ถ์ธก์ ๋๋ค. ์์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. 1-1. ์ ๋ ฅ๋ ์๊ฐ ์ง์๋ผ๋ฉด 2
programmers.co.kr
'Algorithm > programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์ ์ผ ์์ ์ ์ ๊ฑฐํ๊ธฐ (JAVA) (0) | 2021.09.30 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ์ง์์ ํ์ (JAVA) (0) | 2021.09.30 |
[ํ๋ก๊ทธ๋๋จธ์ค] ํ๊ท ๊ตฌํ๊ธฐ (JAVA) (0) | 2021.09.30 |
[ํ๋ก๊ทธ๋๋จธ์ค] ํ์ค๋ ์ (JAVA) (0) | 2021.09.30 |
[ํ๋ก๊ทธ๋๋จธ์ค] ํธ๋ํฐ ๋ฒํธ ๊ฐ๋ฆฌ๊ธฐ (JAVA) (0) | 2021.09.30 |