๋ชฉ๋ก์ „์ฒด ๊ธ€ (433)

whatisthis?

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์™€ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ - JavaScript

javascript ๋ฌธ์ œ ์„ค๋ช… ๋‘ ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ๋‘ ์ˆ˜์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์™€ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•ด ๋ณด์„ธ์š”. ๋ฐฐ์—ด์˜ ๋งจ ์•ž์— ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜, ๊ทธ๋‹ค์Œ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋ฅผ ๋„ฃ์–ด ๋ฐ˜ํ™˜ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‘ ์ˆ˜ 3, 12์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋Š” 3, ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋Š” 12์ด๋ฏ€๋กœ solution(3, 12)๋Š” [3, 12]๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ œํ•œ ์กฐ๊ฑด ๋‘ ์ˆ˜๋Š” 1์ด์ƒ 1000000์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค. ์˜ˆ์‹œ ์ž…์ถœ๋ ฅ ์˜ˆ n m return 3 12 [3, 12] 2 5 [1, 10] ์„ค๋ช… ์ž…์ถœ๋ ฅ ์˜ˆ #1 ์œ„์˜ ์„ค๋ช…๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ #2 ์ž์—ฐ์ˆ˜ 2์™€ 5์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋Š” 1, ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋Š” 10์ด๋ฏ€๋กœ [1, 10]์„ ๋ฆฌํ„ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ function solution(n, m) { const [..

ALGORITHM/PROGRAMMERS 2022. 7. 5. 10:01
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ฝœ๋ผ์ธ  ์ถ”์ธก - JavaScript

javascript ๋ฌธ์ œ ์„ค๋ช… 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์„ ๋ฐ˜ํ™˜ํ•ด ์ฃผ์„ธ..

ALGORITHM/PROGRAMMERS 2022. 7. 5. 09:49
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ํ•˜์ƒค๋“œ ์ˆ˜ - JavaScript

javascript ๋ฌธ์ œ ์„ค๋ช… ์–‘์˜ ์ •์ˆ˜ x๊ฐ€ ํ•˜์ƒค๋“œ ์ˆ˜์ด๋ ค๋ฉด x์˜ ์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ์œผ๋กœ x๊ฐ€ ๋‚˜๋ˆ„์–ด์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 18์˜ ์ž๋ฆฟ์ˆ˜ ํ•ฉ์€ 1+8=9์ด๊ณ , 18์€ 9๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฏ€๋กœ 18์€ ํ•˜์ƒค๋“œ ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž์—ฐ์ˆ˜ x๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ x๊ฐ€ ํ•˜์ƒค๋“œ ์ˆ˜์ธ์ง€ ์•„๋‹Œ์ง€ ๊ฒ€์‚ฌํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ ์กฐ๊ฑด x๋Š” 1 ์ด์ƒ, 10000 ์ดํ•˜์ธ ์ •์ˆ˜์ž…๋‹ˆ๋‹ค. ์˜ˆ์‹œ ์ž…์ถœ๋ ฅ ์˜ˆ arr return 10 true 12 true 11 false 13 false์„ค๋ช… ์ž…์ถœ๋ ฅ ์˜ˆ #1 10์˜ ๋ชจ๋“  ์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ์€ 1์ž…๋‹ˆ๋‹ค. 10์€ 1๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฏ€๋กœ 10์€ ํ•˜์ƒค๋“œ ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ #2 12์˜ ๋ชจ๋“  ์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ์€ 3์ž…๋‹ˆ๋‹ค. 12๋Š” 3์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฏ€๋กœ 12๋Š” ํ•˜์ƒค๋“œ ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ #3 11์˜ ๋ชจ๋“ ..

ALGORITHM/PROGRAMMERS 2022. 7. 5. 09:07
Redux (๋ฆฌ๋•์Šค) - practice

์ฐธ๊ณ  ๋ฌธ์„œ My velog Redux 1. ์šฉ์–ด ์„ค๋ช… ์•ก์…˜ ์ƒ์„ฑํ•จ์ˆ˜ (action creator) ๋‹จ์ˆœํžˆ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ฐ›์•„์™€์„œ ์•ก์…˜ ๊ฐ์ฒด ํ˜•ํƒœ๋กœ ๋งŒ๋“ค์–ด์คŒ. ๋‚˜์ค‘์— ์ปดํฌ๋„ŒํŠธ์—์„œ ๋”์šฑ ์‰ฝ๊ฒŒ ์•ก์…˜์„ ๋ฐœ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•จ. ๋ณดํ†ต export ํ‚ค์›Œ๋“œ๋ฅผ ๋ถ™์—ฌ์„œ ๋‹ค๋ฅธ ํŒŒ์ผ์—์„œ ๋ถˆ๋Ÿฌ์™€ ์‚ฌ์šฉํ•จ. ๋ฆฌ๋“€์„œ (reducer) ๋ณ€ํ™”๋ฅผ ์ผ์œผํ‚ค๋Š” ํ•จ์ˆ˜. state,action ๋‘๊ฐ€์ง€์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ฐ›์•„์˜ด. ํ˜„์žฌ ์ƒํƒœ์™€ ์•ก์…˜์„ ์ฐธ๊ณ ํ•˜์—ฌ ์ƒˆ๋กœ์šด state๋ฅผ ๋ฆฌํ„ดํ•จ. ๋ฆฌ๋•์Šค์—์„œ๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ฆฌ๋“€์„œ๋ฅผ ๋งŒ๋“ค๊ณ  ํ•ฉ์ณ์„œ ๋ฃจํŠธ ๋ฆฌ๋“€์„œ(Root Reducer)์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ. ์ฐธ๊ณ  useReducer์—์„œ๋Š” default:์— throw new Error('Unhandled Action')์„ ๋„ฃ์ง€๋งŒ, ๋ฆฌ๋•์Šค์˜ reducer์—์„œ๋Š” state๋ฅผ ๊ทธ..

WEB STUDY/REACT 2022. 5. 4. 16:28