ํ์ด๐๐ปโ๏ธ function solution(num) { let result = 0; while (result 1) { if (result > 500) return -1; num = num % 2 === 0 ? num / 2 : num * 3 + 1; result++; } return result; } ์ผํญ์ฐ์ฐ์๋ฅผ ์ด์ฉํ ๋ฆฌ๋๋ ํ์ด ์ ๋ง ๋ณด๊ธฐ ์ข์๊ฑฐ ๊ฐ๋ค. ์ฒ์์ ์ด๋ ๊ฒ ํด๋ณด๋ ค ์๋ํ๋๋ฐ ์ ์๋์ง? ํ๋๋ฐ while๋ฌธ์ ํน์ฑ์ ์ ๋๋ก ์ดํดํ์ง ๋ชปํ๋๊ฑฐ ๊ฐ๋ค. ๋ค์์ ์๋๋๋ผ๋ ํํํ์ง ๋ง๊ณ ๋ ์๋ํด๋ณด์๐
FE๋ฅผ ํฅํดโโ
Learned ** ์ฐ์ฐ์์ ๋ํด ๋ค์ ํ๋ฒ ์๊ฒ๋๋ค. map ํจ์๋ฅผ ๋๋ฆด ๋ ์ฝ๋ฐฑํจ์๊ฐ ์๋ ์์ฑ์ ํจ์๋ง ๋๊ฒจ์ค๋ ์์๊ฐ ํ๋ณํ์ด ๋๋ค๐ Array.from๊ณผ reduce๋ฅผ ์ฌ์ฉํด๋ณด๋ฉด์ ์ด๋์ ๋ ์ ๋๋ก ์ตํ๋ค. ์ธ์์ _๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ฅผ ๋ฐฐ์ ๋ค ( ์ฌ์ฉํ์ง ์๋ ์ธ์์์ ํ์ lodash๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ถฉ๋ ๋ฐ ํ์
์คํฌ๋ฆฝํธ์์ ๋ฌธ์ ์๊ธธ ์๋ ์์ ) Liked ๋ฉ์๋๋ฅผ ๋ ๋ง์ด ์๊ฒ๋๊ณ ๊ทธ ์ค ์ ํํ ์ฌ์ฉํ ์ค ์๋ ์ ํ์ง๊ฐ ๋ง์์ง๋ ๊ตฌํ๋ฐฉ๋ฒ์ ํญ์ด ๋์ด์ง๊ณ ์๋ค. ํ์๋ค ์ฝ๋๋ฅผ ๋ณด๊ณ ๊นจ๋ฌ์ ๋ฐฉ๋ฒ์ด ๋ง์๋ค. Lacked ์ด๋ฒ์ฃผ๋ ์ง์ค์ ์ ๋๋ก ๋ชปํ๋คใ
ใ
.. var๋ณ์ ์ฌ์ฉ๊ฐ์ ์ค์ํ๊ณ ๊ฒํ ์์ ์ฐพ์๋ด์ง ๋ชปํ๋ค. ๋ฌธ๋จ๋ณ ๋ถ๋ฆฌ๋ฅผ ํ๊ณ ๊ฐ๋
์ฑ๊ณผ ํจ์จ์ฑ์ ๋ํด ์กฐ๊ธ ๋ ์๊ฐ์ ๋ด์ ๊ณ ๋ฏผํ์.

- ์ฐ์ฐ์๋? ์ฐ์ฐ์๋ ํ๋ ์ด์์ ํํ์์ ๋์์ผ๋ก ์ฐ์ , ํ ๋น, ๋น๊ต, ๋
ผ๋ฆฌ, ํ์
, ์ง์ ์ฐ์ฐ ๋ฑ์ ์ํํ์ฌ ํ๋์ ๊ฐ์ ๋ง๋ ๋ค. ์ด๋ ์ฐ์ฐ์ ๋์์ ํผ์ฐ์ฐ์๋ผ ํ๋ค. ํผ์ฐ์ฐ์๋ ๊ฐ์ผ๋ก ํ๊ฐ๋ ์ ์๋ ํํ์ ์ด์ด์ผ ํ๋ค. ํผ์ฐ์ฐ์์ ์ฐ์ฐ์์ ์กฐํฉ์ผ๋ก ์ด๋ค์ง ์ฐ์ฐ์ ํํ์๋ ๊ฐ์ผ๋ก ํ๊ฐ๋ ์ ์๋ ํํ์์ด๋ค. ex) ํํ์์ด๋? ๊ฐ์ผ๋ก ํ๊ฐ๋ ์ ์๋ ๋ฌธ์ ๋งํ๋ค. - ์ฐ์ ์ฐ์ฐ์ ์ฐ์ ์ฐ์ฐ์๋ ํผ์ฐ์ฐ์๋ฅผ ๋์์ผ๋ก ์ํ์ ๊ณ์ฐ์ ์ํํด ์๋ก์ด ์ซ์ ๊ฐ์ ๋ง๋ ๋ค. ์ฐ์ ์ฐ์ฐ์ด ๋ถ๊ฐ๋ฅํ ๊ฒฝ์ฐ NaN์ ๋ฐํํ๋ค. (Not a Number) ์ฐ์ ์ฐ์ฐ์๋ ํผ์ฐ์ฐ์์ ๊ฐ์์ ๋ฐ๋ผ ์ดํญ ์ฐ์ ์ฐ์ฐ์, ๋จํญ ์ฐ์ ์ฐ์ฐ์๋ก ๊ตฌ๋ถํ๋ค. ์ดํญ ์ฐ์ ์ฐ์ฐ์ 2๊ฐ์ ํผ์ฐ์ฐ์๋ฅผ ์ฐ์ ์ฐ์ฐํ์ฌ ๊ฐ์ ๋ง๋ ๋ค. ์ดํญ ์ฐ์ ์ฐ์ฐ..

react query ์ค์น npm install react-query react query ์ฌ์ฉ๋ฒ app.js ์์ QueryClient๋ฅผ ์์ฑํด ๋ณ์์ ํ ๋น QueryClientProvider๋ก ์ ์ฒด๋ฅผ ๊ฐ์ธ์ฃผ๊ณ client๊ฐ์ผ๋ก ์์ฑํ queryClient๋ฅผ ๋ฃ์ด์ฃผ๋ฉด ์ค๋น ๋. ์ปดํฌ๋ํธ ๋ด์์ ์ฌ์ฉ (useQuery) - ๋ฐ์ดํฐ๋ฅผ get ํด์ฌ ๋ ์ฌ์ฉํ๋ค. // useQuery ๋ฅผ import ํด์ฃผ๊ณ import { useQuery } from "react-query"; // ๋์คํธ๋ญ์ฒ๋ง์ผ๋ก data, isError, error, loading ๋ฑ ์ํ๋ฅผ ๋ฐ์์์ ์ฌ์ฉ. const {data, isError,error, isLoading } = useQuery([querykey๊ฐ],[queryํจ์]) ..
ํ์ด๐๐ปโ๏ธ function solution(x, n) { var result = []; for (let i = 1; i

๋ฌธ์ ๋ด์ฉ ํ์ด๐๐ปโ๏ธ function solution(x) { const result = Array.from(String(x)).reduce((acc, cur) => { return Number(cur) + acc; }, 0); return x % result === 0 ? true : false; } x๋ฅผ ๋ฌธ์์ด๋ก ๋ณํํด์ Array.from์ ์ธ์๋ก ๋ฃ์ด์ฃผ๋ฉด ๊ฐ๊ฐ์ ์์๋ฅผ ๊ฐ์ง ๋ฐฐ์ด๋ก ๋ฐํํ๋ค. ๋ฉ์๋ ์ฒด์ด๋์ ํตํด reduce๋ก ๋ฐ๋ก numberํ์
์ผ๋ก ๋ณํ๊ณผ ๋์์ ํฉ์ฐํด์ค๋ค. x % ํฉ์ฐ๊ฐ์ ๋๋จธ์ง๊ฐ 0 ์ด๋ฉด true ์๋๋ฉด false๋ฅผ ๋ฐํํ๋ค. ํผ๋๋ฐฑ ํ์ด function solution(x) { const result = Array.from(String(x)).reduce((acc, c..

๋ฌธ์ ๋ด์ฉ ํ์ด๐๐ปโ๏ธ function solution(n) { const result = (n + "") .split("") .sort((a, b) => b - a) .join(""); return parseInt(result); } ์๋ฌต์ ํ๋ณํ์ ํตํด ๋ณํ split์ผ๋ก ๊ฐ์์๋ฅผ ๋๋ ์ฃผ๊ณ sort๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ ํ ๊ฐ ์์๋ฅผ join์ผ๋ก ํฉ์ณ์ฃผ๊ณ ํ์
์ ๋ณํํด ๋ฆฌํดํ๋ค. * ์๋ฌต์ ํ๋ณํ์ ํ๋ฒ ์ฌ์ฉํด ๋ดค๋๋ฐ ๋ช
์์ ์ผ๋ก ์ฌ์ฉํด ์ฃผ๋๊ฒ ๋ ์ข์ ๊ฒ ๊ฐ๋ค. (toString ๋ฑ)

๋ฌธ์ ๋ด์ฉ ํ์ด๐๐ปโ๏ธ function solution(n) { return n .toString() .split("") .map((v) => Number(v)) .reverse(); } ์ซ์๋ฅผ ๋ฌธ์์ด๋ก ๋ณ๊ฒฝ. split์ผ๋ก ๊ฐ๊ฐ์ ์์๋ก ์๋ผ ์ฃผ๊ธฐ. map์ผ๋ก ์ํ๋ฅผ ๋๋ฉฐ ํ์
๋๋ฒ๋ก ๋ณ๊ฒฝ ๋ฆฌ๋ฒ์ค ๋ฉ์๋๋ก ๋ฐ๋๋ก ๋๋ ค์ ๋ฐํ!!! ๋ ์ข์ ํ์ด function solution(n) { return n .toString() .split("") .map(Number) .reverse(); } map์ ์ธ์๋ก ์ฝ๋ฐฑํจ์๊ฐ ๊ธฐ๋ณธ์ธ์ค ์์๋๋ฐ ๊ทธ๋ฅ Number๋ง ๋๊ฒจ์ค๋ ๊ฐ๋ฅํ๋ค..(์ถฉ๊ฒฉ)