ํ์ด๐๐ปโ๏ธ
function solution(num) {
let result = 0;
while (result <= 500) {
if (num === 1) break;
else if (num % 2 === 0) {
result++;
num = num / 2;
} else if (num % 2 === 1) {
result++;
num = num * 3 + 1;
}
if (result === 500) {
result = -1;
break;
}
}
return result;
}
/*
(ํ์ด)
while๋ฌธ์ผ๋ก result๊ฐ 501 ์ด ๋ ๋๊น์ง ๋ฃจํ๋ฅผ ๋๋ฆฌ๊ณ
์ง์์ผ๋๋ ๋๋๊ธฐ 2 ํ์์ผ๋๋ ๊ณฑํ๊ธฐ 3 + 1 ์ ํด์ฃผ๊ณ
result ๊ฐ์ด 500์ด ๋ ๋๊น์ง num์ด 1์ด ๋์ง์๋๋ค๋ฉด result์ -1์ ํ ๋นํ๊ณ while๋ฌธ ์ข
๋ฃ
else if ๋ก ๋ฌ์์คฌ์ด์ผํ๋๋ฐ ๋ฐ๋ก๋ฐ๋ก if๋ฌธ์ ์ฐ๋ ์ ์ฉ์ด ์๋์ ์์ฒญ ๊ณ ์ํ๋ค..
*/
ํผ๋๋ฐฑ ํ์ด
function solution(num) {
let result = 0;
while (result <= 500) {
if (num === 1) return result;
if (num % 2 === 0) {
num = num / 2;
} else {
num = num * 3 + 1;
}
result++;
}
return -1;
}
- ๋ถํ์ํ ๋ฐ๋ณต๋๋ result++ ์ ๊ณตํต์คํ์ผ๋ก ๋ณ๊ฒฝํ๊ณ braek -> return ์ผ๋ก ๋ณ๊ฒฝ.
- result === 500 ๋ถ๋ถ์ ์กฐ๊ฑด์๋ while๋ฌธ์์ ๋ฆฌํด๊ฐ์ด ์๋ค๋ฉด ์๋ฏธ๊ฐ ์๊ธฐ์ ํจ์์ ๋ฆฌํด๊ฐ์ -1 ๋ก ๋ณ๊ฒฝ.
- ๊ทธ ์ธ ๋ถํ์ํ ๋ถ๋ถ์ ๋ชจ๋ ์ ๊ฑฐํ๋ ํจ์ฌ ๊น๋ํ๊ณ ์ฝ๋๊ฐ ์งง์๋ณด์ธ๋ค.. ์ข ๋ ๊ณ ๋ฏผํด๋ณด์
๋ค๋ฅธ ํ์ด
function solution(num) {
let result = 0;
while (num > 1) {
if (result > 500) return -1;
num = num % 2 === 0 ? num / 2 : num * 3 + 1;
result++;
}
return result;
}
- ์ผํญ์ฐ์ฐ์๋ฅผ ์ด์ฉํ ๋ฆฌ๋๋ ํ์ด ์ ๋ง ๋ณด๊ธฐ ์ข์๊ฑฐ ๊ฐ๋ค.
- ์ฒ์์ ์ด๋ ๊ฒ ํด๋ณด๋ ค ์๋ํ๋๋ฐ ์ ์๋์ง? ํ๋๋ฐ while๋ฌธ์ ํน์ฑ์ ์ ๋๋ก ์ดํดํ์ง ๋ชปํ๋๊ฑฐ ๊ฐ๋ค.
- ๋ค์์ ์๋๋๋ผ๋ ํํํ์ง ๋ง๊ณ ๋ ์๋ํด๋ณด์๐
'์๊ณ ๋ฆฌ์ฆ & ๋ฌธ์ ํ์ด > Programmers-1' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ ์ผ ์์ ์ ์ ๊ฑฐํ๊ธฐ (0) | 2022.09.27 |
---|---|
ํธ๋ํฐ ๋ฒํธ ๊ฐ๋ฆฌ๊ธฐ (0) | 2022.09.21 |
x๋งํผ ๊ฐ๊ฒฉ์ด ์๋ n๊ฐ์ ์ซ์ (0) | 2022.09.18 |
ํ์ค๋ ์ (0) | 2022.09.18 |
์ ์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐฐ์นํ๊ธฐ (0) | 2022.09.18 |