React redux์™€ ํ•จ๊ป˜ axios๋ฅผ ์ด์šฉํ•ด์„œ deleteํ•˜๊ธฐ
๐Ÿ“” Studying/๐Ÿ’Œ TIL 2022. 12. 22. 21:54

Today, What I learned? ์˜ค๋Š˜์€ axios๋ฅผ ๋‹ค๋ฃจ๋‹ค๊ฐ€ ๋งŒ๋‚œ ์—๋Ÿฌ์— ๋Œ€ํ•ด์„œ ์จ๋ณด๋ ค ํ•œ๋‹ค. JSON-Server๋กœ redux-thunk๋ฅผ ์ด์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ CRUD ํ•˜๋Š” ์ž‘์—…์„ ํ•˜๊ณ  ์žˆ์—ˆ๋‹ค. ์ถ”๊ฐ€๊นŒ์ง€๋Š” ์–ด์ฐŒ์–ด์ฐŒํ–ˆ๋Š”๋ฐ ์‚ญ์ œ๋ฅผ ๋ˆ„๋ฅด๋Š” ์ˆœ๊ฐ„.. ํ™”๋ คํ•œ ์—๋Ÿฌ๊ฐ€ ๋‚˜๋ฅผ ๋ฐ˜๊ฒผ๋‹ค. ์—๋Ÿฌ์™€ ์›์ธ payload์™€ ๊ด€๋ จํ•ด์„œ ์ƒ๊ธด ์˜ค๋ฅ˜์ธ ๋“ฏ ๋ณด์˜€๋‹ค. ์ž‘์„ฑํ–ˆ๋˜ ์ฝ”๋“œ๋Š” ์ด๋žฌ๋‹ค. ์ถ”๊ฐ€ํ–ˆ๋“ฏ์ด payload๋กœ id๋ฅผ ๋ณด๋‚ด์ฃผ๋ฉด ๋  ์ค„ ์•Œ์•˜๋Š”๋ฐ!!... ์•„๋‹ˆ์—ˆ๋˜ ๊ฒƒ. ์ดํ›„์— ์ € ๊ณต๊ฐ„์— data๋ผ๋Š” ๊ฐ์ฒด๋กœ ๊ฐ์‹ธ์„œ payload๋ฅผ ๋„˜๊ฒจ๋ณด๊ธฐ๋„ ํ–ˆ์ง€๋งŒ ๊ฒฐ๊ณผ๋Š” ๋˜‘๊ฐ™์•˜๋‹ค. Axios ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ๋ณด๋ฉด HTTP ๋ฉ”์„œ๋“œ์— ๋”ฐ๋ผ์„œ ๋“ค์–ด๊ฐ€๋Š” ์ธ์ž๊ฐ€ ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅด๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์ด post ๋ฉ”์„œ๋“œ๋กœ ๋ณด๋‚ผ ๊ฒฝ์šฐ์—๋Š” ๋‘ ๋ฒˆ์งธ ์ธ์ž์ธ payload๊ฐ€ d..

[React] Material UI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉํ•ด๋ณด๊ธฐ
๐Ÿ“” Studying/๐Ÿ’Œ TIL 2022. 12. 21. 21:17

Today, What I learned? ํ”„๋กœ์ ํŠธ์— ์“ธ ์ˆ˜๋„ ์žˆ๋Š”(?) UI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ•œ๋ฒˆ ๋ง›๋ณด๊ธฐ๋กœ ์‚ฌ์šฉํ•ด ๋ณด์•˜๋‹ค. ์ด๋ฒˆ์— ์ฒ˜์Œ ์•Œ๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ Material UI๋Š” ๋ฆฌ์•กํŠธ UI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘ ๊ฐ€์žฅ ์œ ๋ช…ํ•œ ๊ฒƒ์ด๋ผ๊ณ !... ์˜ค๋Š˜์€ ๊ฐ„๋žตํ•œ ์„ค์น˜ ๋ฐฉ๋ฒ•๊ณผ ํ™œ์šฉ์— ๋Œ€ํ•ด์„œ ์กฐ๊ธˆ ์ •๋ฆฌํ•ด ๋ณธ๋‹ค. Material UI Material UI๋Š” ๊ตฌ๊ธ€์˜ Material Design์„ ๋ฐ”ํƒ•์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ๋ฆฌ์•กํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์ฒ˜๋Ÿผ ๊น”๋”ํ•˜๊ณ  ์ •๋ˆ๋œ UI๋ฅผ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ณต์‹ ๋ฌธ์„œ์™€ ์ถ”๊ฐ€์ ์ธ ์ •๋ณด๋Š” ์•„๋ž˜ ์‚ฌ์ดํŠธ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. https://mui.com/ MUI: The React component library you always wanted MUI provides a simple, customiza..

[React] React-thunk ์•Œ์•„๋ณด๊ธฐ
๐Ÿ“” Studying/React 2022. 12. 20. 21:27

redux-thunk? ๋ฆฌ๋•์Šค์— ๊ด€ํ•ด์„œ ๊ณต๋ถ€ํ•˜๋‹ค ๋ณด๋ฉด '๋ฏธ๋“ค์›จ์–ด'๋ผ๋Š” ๊ฒƒ์„ ํ•œ ๋ฒˆ์ฏค ๋“ค์–ด๋ณด์•˜์„ ๊ฒƒ์ด๋‹ค. redux-thunk, redux-saga, ๊ทธ ์™ธ์—๋„ redux-promise-middleware ๋“ฑ ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ ์˜ค๋Š˜์€ ๊ทธ์ค‘์—์„œ๋„ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘ ํ•˜๋‚˜์ธ redux-thunk์— ๋Œ€ํ•˜์—ฌ ์ •๋ฆฌํ•ด๋ณด๋ ค ํ•œ๋‹ค. ๋ฆฌ๋•์Šค ๋ฏธ๋“ค์›จ์–ด? ๋จผ์ € ๋ฏธ๋“ค์›จ์–ด์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณผ๊นŒ ํ•œ๋‹ค. ๋ฆฌ๋•์Šค๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์•˜๋‹ค๋ฉด ์œ„์™€ ๊ฐ™์€ ๊ตฌ์กฐ๋กœ ๋ฆฌ๋•์Šค๊ฐ€ ์ƒˆ๋กœ์šด state๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์„ ๊ฒƒ์ด๋‹ค. dispatch๋ฅผ ํ†ตํ•ด ๋ฆฌ๋“€์„œ๋กœ ์ „๋‹ฌ๋œ ์•ก์…˜์ด ๋ฆฌ๋“€์„œ๋กœ ์ „๋‹ฌ๋˜์–ด state๊ฐ€ ๋ณ€๊ฒฝ๋œ๋‹ค๋Š” ๊ฒƒ! ๋ฆฌ๋•์Šค ๋ฏธ๋“ค์›จ์–ด๋Š” ์—ฌ๊ธฐ์„œ ์•ก์…˜์ด ๋””์ŠคํŒจ์น˜๋˜๊ณ  ๋ฆฌ๋“€์„œ์— ์ „๋‹ฌ๋˜๊ธฐ ์ „์— ์ถ”๊ฐ€์ ์ธ ์ž‘์—…์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ณดํ†ต ์„œ๋ฒ„์™€ ํ†ต..

fetch์™€ Axios ๋น„๊ต
๐Ÿ“” Studying/๐Ÿ’Œ TIL 2022. 12. 19. 20:58

Today, What I learned? Axios ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด์ „์—๋„ ๋„Œ์ง€์‹œ ๋“ค์–ด๋Š” ๋ดค์ง€๋งŒ ์ด๋ฒˆ ๊ธฐํšŒ๋กœ ์ œ๋Œ€๋กœ ์ ‘ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค๋Š” ๋ง์ด ๋” ๋งž๊ฒ ๋‹ค. Axios๋ฅผ ์•Œ๊ณ ๋‚˜๋‹ˆ fetch์™€ ์–ด๋–ค ์ฐจ์ด๊ฐ€ ์žˆ๊ธธ๋ž˜? Axios๊ฐ€ ์„ฑ๋Šฅ์ด ๋” ์ข‹์€๊ฐ€?? ๊ฐ™์€ ๊ฒƒ๋“ค์ด ๊ถ๊ธˆํ•ด์ ธ์„œ ํ•œ๋ฒˆ ์ •๋ฆฌํ•ด๋ณด๋ ค ํ•œ๋‹ค. Axios ๊ณต์‹๋ฌธ์„œ์—์„œ๋Š” 'Axios๋Š” node.js์™€ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์œ„ํ•œ Promise ๊ธฐ๋ฐ˜ HTTP ํด๋ผ์ด์–ธํŠธ ์ž…๋‹ˆ๋‹ค.' ๋ผ๊ณ  ์†Œ๊ฐœ๋ฅผ ํ•˜๊ณ  ์žˆ๋‹ค. ์ฆ‰ Promise๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ HTTP๋ฅผ ์ด์šฉํ•ด์„œ ์„œ๋ฒ„์™€ ๋น„๋™๊ธฐ๋กœ ํ†ต์‹ ํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์€ ํ‚ค์›Œ๋“œ๋กœ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค. npm์—์„œ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ $ npm install axios yarn์—์„œ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ $ yarn add axios ๊ณต์‹ ๋ฌธ์„œ๋Š” ์ด์ชฝ์—์„œ ํ™•..

ํˆฌ๋‘ ๋ฆฌ์ŠคํŠธ ๋ฆฌํŒฉํ† ๋ง
๐Ÿ“” Studying/๐Ÿ’Œ TIL 2022. 12. 16. 20:40

Today, What I learned? ์ „์ฒด์ ์ธ ๊ณผ์ œ ๋ฆฌ๋ทฐ๋ฅผ ๋“ฃ๊ณ , ๋žœ๋ค ํ•˜๊ฒŒ ๋ฝ‘ํžŒ ๋‹ค๋ฅธ ๋ถ„๋“ค์˜ ๊ฒฐ๊ณผ๋ฌผ๊ณผ ์ฝ”๋“œ๋ฅผ ๋ณด๋‹ค ๋ณด๋‹ˆ ๋‚ด ์ฝ”๋“œ์—์„œ ๊ณ ์น˜๊ณ  ์‹ถ์€ ๋ถ€๋ถ„๋“ค์ด ์ƒ๊ฒผ๋‹ค! ์•ˆ ๊ทธ๋ž˜๋„ ์ œ์ถœํ•˜๊ณ  ๋ญ”๊ฐ€... ๋ถ€์กฑํ•œ ์ด ๋Š๋‚Œ..๐Ÿค” ๊ฐ™์€ ์ƒ๊ฐ์ด ๋“ค์—ˆ๋Š”๋ฐ ์—ญ์‹œ ๊ฐˆ๊ธธ์ด ๋ฉ€๋‹ค!.. ์ผ๋‹จ ์šฐ์„ ์ ์œผ๋กœ ๋ฆฌํŒฉํ† ๋งํ•œ ๋ถ€๋ถ„๋“ค์„ ์ •๋ฆฌํ•ด๋ณธ๋‹ค. TodoList์— ๋ฟŒ๋ ค์ฃผ๋Š” ๋ถˆํ•„์š”ํ•œ props ์ œ๊ฑฐ ์™œ ์ƒ๊ฐํ•˜์ง€ ๋ชปํ–ˆ์„๊นŒ ์‹ถ์€ ๋ถ€๋ถ„!.. ์–ด์ฐจํ”ผ ๋ฆฌ๋•์Šค๋กœ ์ƒํƒœ๊ด€๋ฆฌ๋ฅผ ํ•˜๊ณ  ์žˆ๊ณ  ๋ฆฌ๋“€์„œ๋กœ๋ถ€ํ„ฐ todos ๋ผ๋Š” ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€์„œ ๋ฟŒ๋ ค์ฃผ๋Š”๋ฐ, ๊ตณ์ด props๋กœ ๋„˜๊ฒจ์ค„ ํ•„์š”๊ฐ€ ์—†์—ˆ๋‹ค. TodoList ์ปดํฌ๋„ŒํŠธ๋กœ useSelector ํ›…์„ ์˜ฎ๊ฒจ์„œ ๋ฐ”๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ Œ๋”๋ง ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณ€๊ฒฝํ–ˆ๋‹ค. ๋ฐ˜๋ณต๋˜๋Š” label, input ์ปดํฌ๋„ŒํŠธํ™” ํˆฌ๋‘ ์ž…๋ ฅ ๋ถ€๋ถ„..

React์™€ Redux๋ฅผ ์ด์šฉํ•œ ํˆฌ๋‘๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค์–ด๋ณด๋ฉฐ
๐Ÿ“” Studying/๐Ÿ’Œ TIL 2022. 12. 15. 20:43

๋‘ ๋ฒˆ์งธ ํˆฌ๋‘ ๋ฆฌ์ŠคํŠธ react-router-dom, styled-components์™€ redux์— ๋Œ€ํ•ด ์ข€ ๋” ๊ณต๋ถ€ํ•œ ํ›„์— ๊ธฐ์ดˆ ํˆฌ๋‘ ๋ฆฌ์ŠคํŠธ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•ด์„œ ๋‹ค์‹œ ํ•œ๋ฒˆ ๋งŒ๋“ค์–ด๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋‹ค. ํˆฌ๋‘ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๋ฉฐ UI/UX ์ ์œผ๋กœ๋‚˜, ๊ธฐ์ˆ ์ ์œผ๋กœ ๊ณ ๋ฏผํ–ˆ๋˜ ๋ถ€๋ถ„๋“ค๊ณผ ๊นจ๋‹ฌ์€ ์ .. ๊ฐ™์€ ๊ฒƒ๋“ค์„ ํšŒ๊ณ ํ•ด๋ณด๋ ค ํ•œ๋‹ค. ์™„์„ฑ๋œ ํˆฌ๋‘๋ฆฌ์ŠคํŠธ๋ฅผ ๋ฐฐํฌํ•œ ๋งํฌ๋Š” ์•„๋ž˜! https://todolist-redux-theta.vercel.app/ React App todolist-redux-theta.vercel.app UI/UX ์ง€๋‚œ๋ฒˆ์— ๋งŒ๋“ค ๋•Œ๋Š” ๊ฝค ์ž์œ ๋ถ„๋ฐฉํ•˜๊ฒŒ ๋งŒ๋“ค์–ด๋ดค์œผ๋‹ˆ ์ด๋ฒˆ์—๋Š” ์š”๊ตฌ๋˜๋Š” ํ‹€์„ ์œ ์ง€ํ•˜๋˜ ์‚ฌ์šฉ์ž์˜ ํŽธ์˜๋ฅผ ์ƒ๊ฐํ•ด์„œ ๋ ˆ์ด์•„์›ƒ์„ ์งœ๋ณด์•˜๋‹ค. ํˆฌ๋‘ ํ•˜๋‹จ๋ถ€์˜ ๋ฒ„ํŠผ์€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋”ฐ์กŒ์„ ๋•Œ, ์œ ์ € ์ž…์žฅ์—์„œ๋Š” '์™„๋ฃŒ'๊ฐ€ ..

Query parameter, Query String vs Path Variable
๐Ÿ“” Studying/Web 2022. 12. 14. 20:17

๋“ค์–ด๊ฐ€๋ฉฐ ์›น์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ณ  ๋ฐ›๊ธฐ ์œ„ํ•ด์„œ๋Š” ์–ด๋–ค ์‹์œผ๋กœ ์ „์†กํ•˜๊ณ  ์–ด๋–ค ๊ฒฝ๋กœ(End-point)์— ์ „๋‹ฌํ• ์ง€๋ฅผ ์ค‘์š”ํ•˜๊ฒŒ ๋ณธ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ณ  ๋ฐ›๋Š” ๋ฐฉ์‹์œผ๋กœ๋Š” GET, POST ๋“ฑ์˜ HTTP ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ๊ณ , ๊ด€๋ จํ•ด์„œ REST API๋ผ๋Š” ๊ฐœ๋…์ด ์žˆ๋‹ค. ๊ทธ๋ณด๋‹ค ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ๊ฒฝ๋กœ์— ๋Œ€ํ•ด์„œ, ๊ทธ ์ค‘์—์„œ๋„ Query Parameter์™€ Path Variable์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•ด๋ณด๋ ค ํ•œ๋‹ค. Query Parameter (Query String) ์œ„ ์ด๋ฏธ์ง€๋Š” ์šฐ๋ฆฌ๊ฐ€ ํ”ํ•˜๊ฒŒ ๋ณด๋Š” URL์˜ ๊ตฌ์กฐ์ด๋‹ค. ์—ฌ๊ธฐ์„œ ? ์ดํ›„๋ถ€ํ„ฐ ์‹œ์ž‘๋˜๋Š” Parameters๋ผ๋Š” ๋ถ€๋ถ„์ด ๋ฐ”๋กœ Query Parameter์ด๋‹ค. ํ”ํžˆ Query String, ์ฟผ๋ฆฌ ์ŠคํŠธ๋ง์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋„ ํ•œ๋‹ค. ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ์ฟผ๋ฆฌ ์ŠคํŠธ๋ง์€ ๊ฐ™์€ ํ‘œํ˜„! Query St..

React onClick์— ํ•จ์ˆ˜ ๋„˜๊ธธ ๋•Œ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ฒ˜๋ฆฌ
๐Ÿ“” Studying/๐Ÿ’Œ TIL 2022. 12. 13. 20:31

Today, What I learned? redux์™€ styled-components, react-router-dom์„ ์ด์šฉํ•ด์„œ ์ข€ ๋” ์—…๊ทธ๋ ˆ์ด๋“œ๋œ ํˆฌ๋‘ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ์ค‘!.. ์ด์ „๋ณด๋‹ค ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ข€ ๋” ์„ธ๋ถ„ํ™” ํ•˜๋‹ค๋ณด๋‹ˆ ๋ฒ„ํŠผ ์ปดํฌ๋„ŒํŠธ๋„ ๋ถ„๋ฆฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๋ฌธ์ œ๋Š” ๋ฒ„ํŠผ ์ปดํฌ๋„ŒํŠธ์— ์ „๋‹ฌ๋˜๋Š” ์—ฌ๋Ÿฌ ํ•จ์ˆ˜๋“ค์„ ์–ด๋–ป๊ฒŒ ์‹คํ–‰์‹œํ‚ฌ ๊ฒƒ์ด๋ƒ!.. ์˜€๋Š”๋ฐ... ๋ฆฌ์•กํŠธ์—์„œ onClick ์ด๋ฒคํŠธ์— ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์žˆ๋Š” ํ•จ์ˆ˜๋ฅผ ์–ด๋–ป๊ฒŒ ๋„˜๊ฒจ์ค„ ๊ฒƒ์ธ์ง€๋ฅผ ์•Œ๊ฒŒ ๋œ ๊ณผ์ •์„ ์ •๋ฆฌํ•ด๋ณธ๋‹ค. ๊ธฐ์กด์˜ ์ฝ”๋“œ type์— ๋”ฐ๋ผ์„œ props๋กœ ๋ฐ›์•„์˜จ ๋‹ค๋ฅธ ํ•จ์ˆ˜๋“ค์„ ์‹คํ–‰์‹œํ‚ค๋„๋ก ํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค. ์ €๊ธฐ๊นŒ์ง„ ์ข‹์•˜๋Š”๋ฐ, ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋จ์— ๋”ฐ๋ผ ํƒ€์ž…์ด ์ถ”๊ฐ€๋˜๋‹ค ๋ณด๋‹ˆ ์‚ผํ•ญ ์—ฐ์‚ฐ์ž๋กœ๋Š” ๋ฒ„๊ฑฐ์šด ์ƒํ™ฉ์ด ๋ฐœ์ƒ.. ๊ณ„์† ์ด๋ ‡๊ฒŒ? ์ค„์ค„์ด ์†Œ์„ธ์ง€์ฒ˜๋Ÿผ? ๊ฐ„๋‹ค๊ณ ? ์ด๋ ‡๊ฒŒ ์“ฐ๋Š” ๊ฒƒ์€ ์‚ผํ•ญ ..

[JavaScript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : OXํ€ด์ฆˆ
๐Ÿ““ Algorithm 2022. 12. 12. 20:48

๋ฌธ์ œ ๋ง์…ˆ, ๋บ„์…ˆ ์ˆ˜์‹๋“ค์ด 'X [์—ฐ์‚ฐ์ž] Y = Z' ํ˜•ํƒœ๋กœ ๋“ค์–ด์žˆ๋Š” ๋ฌธ์ž์—ด ๋ฐฐ์—ด quiz๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ์ˆ˜์‹์ด ์˜ณ๋‹ค๋ฉด "O"๋ฅผ ํ‹€๋ฆฌ๋‹ค๋ฉด "X"๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ๋‹ด์€ ๋ฐฐ์—ด์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. ์ž…์ถœ๋ ฅ ์˜ˆ quiz result ["3 - 4 = -3", "5 + 6 = 11"] ["X", "O"] ["19 - 6 = 13", "5 + 66 = 71", "5 - 15 = 63", "3 - 1 = 2"] ["O", "O", "X", "O"] ํ’€์ด =์„ ๊ธฐ์ค€์œผ๋กœ ์™ผ์ชฝ์˜ ์—ฐ์‚ฐ์ด ์˜ค๋ฅธ์ชฝ์˜ ์ˆ˜์™€ ์ผ์น˜ํ•˜๋Š”์ง€๋ฅผ ๋”ฐ์ ธ O, X๋กœ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฌธ์ œ๋‹ค. quiz ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ๋ฅผ ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ split ํ•ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋จผ์ € ๋“ค์—ˆ๋‹ค. function solution(quiz..

[Javascript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ์˜ˆ์‚ฐ
๐Ÿ““ Algorithm 2022. 12. 9. 20:43

๋ฌธ์ œ S์‚ฌ์—์„œ๋Š” ๊ฐ ๋ถ€์„œ์— ํ•„์š”ํ•œ ๋ฌผํ’ˆ์„ ์ง€์›ํ•ด ์ฃผ๊ธฐ ์œ„ํ•ด ๋ถ€์„œ๋ณ„๋กœ ๋ฌผํ’ˆ์„ ๊ตฌ๋งคํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๊ธˆ์•ก์„ ์กฐ์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜, ์ „์ฒด ์˜ˆ์‚ฐ์ด ์ •ํ•ด์ ธ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ๋ถ€์„œ์˜ ๋ฌผํ’ˆ์„ ๊ตฌ๋งคํ•ด ์ค„ ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ตœ๋Œ€ํ•œ ๋งŽ์€ ๋ถ€์„œ์˜ ๋ฌผํ’ˆ์„ ๊ตฌ๋งคํ•ด ์ค„ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฌผํ’ˆ์„ ๊ตฌ๋งคํ•ด ์ค„ ๋•Œ๋Š” ๊ฐ ๋ถ€์„œ๊ฐ€ ์‹ ์ฒญํ•œ ๊ธˆ์•ก๋งŒํผ์„ ๋ชจ๋‘ ์ง€์›ํ•ด ์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 1,000์›์„ ์‹ ์ฒญํ•œ ๋ถ€์„œ์—๋Š” ์ •ํ™•ํžˆ 1,000์›์„ ์ง€์›ํ•ด์•ผ ํ•˜๋ฉฐ, 1,000์›๋ณด๋‹ค ์ ์€ ๊ธˆ์•ก์„ ์ง€์›ํ•ด ์ค„ ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๋ถ€์„œ๋ณ„๋กœ ์‹ ์ฒญํ•œ ๊ธˆ์•ก์ด ๋“ค์–ด์žˆ๋Š” ๋ฐฐ์—ด d์™€ ์˜ˆ์‚ฐ budget์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์ตœ๋Œ€ ๋ช‡ ๊ฐœ์˜ ๋ถ€์„œ์— ๋ฌผํ’ˆ์„ ์ง€์›ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ d budget resu..