์ „์ฒด ๊ธ€

Hi There ! ๐Ÿ–๏ธ I am FrontEnd Developer ๐Ÿ’ป I'm studying AI, Backend, React-Native Now.
Algorithm/Baekjoon

๋ฐฑ์ค€ 10773๋ฒˆ - ์ œ๋กœ(Node.js)

๋ฐฑ์ค€ 10773๋ฒˆ - ์ œ๋กœ(Node.js)https://www.acmicpc.net/problem/10773 10773๋ฒˆ: ์ œ๋กœ์ฒซ ๋ฒˆ์งธ ์ค„์— ์ •์ˆ˜ K๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 โ‰ค K โ‰ค 100,000) ์ดํ›„ K๊ฐœ์˜ ์ค„์— ์ •์ˆ˜๊ฐ€ 1๊ฐœ์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์ •์ˆ˜๋Š” 0์—์„œ 1,000,000 ์‚ฌ์ด์˜ ๊ฐ’์„ ๊ฐ€์ง€๋ฉฐ, ์ •์ˆ˜๊ฐ€ "0" ์ผ ๊ฒฝ์šฐ์—๋Š” ๊ฐ€์žฅ ์ตœ๊ทผ์— ์“ด ์ˆ˜๋ฅผ ์ง€์šฐ๊ณ , ์•„๋‹ ๊ฒฝwww.acmicpc.net   ๋‚˜์˜ ํ’€์ด13๋ฒˆ์งธ ์ค„ : K๋Š” ์ž…๋ ฅ์˜ ์ œ์ผ ์ฒซ๋ฒˆ ์งธ ์ž…๋ ฅ์„ ์˜๋ฏธํ•œ๋‹ค.21 ~ 23๋ฒˆ์งธ ์ค„ : Ks๋Š” ์ž…๋ ฅ์˜ ์ฒซ๋ฒˆ ์งธ ์ž…๋ ฅ์„ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ K๊ฐœ ๋งŒํผ์˜ ์ž…๋ ฅ์„ ์˜๋ฏธํ•œ๋‹ค.25 ~ 31๋ฒˆ์งธ ์ค„ : for๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ Ks[i] ๊ฐ’์ด 0์ด ์•„๋‹ˆ๋ฉด answer๋ผ๋Š” ๋ฐฐ์—ด์— ๊ทธ ๊ฐ’์„ ๋‹ด์•„๋‘๊ณ , 0์ด๋ผ๋ฉด answer ๋ฐฐ์—ด์— ๋‹ด๊ธด ๊ฐ’์„ ๋’ค..

Algorithm/Baekjoon

๋ฌผ๊ฑด์„ ์ชผ๊ฐค ์ˆ˜ ์—†๋Š” ๋ฐฐ๋‚ญ ๋ฌธ์ œ(0/1 Knapsack Problem)

0/1 Knapsack Problem๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ(Dynamic Programming : DP)์„ ํ™œ์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค..DP๋Š” ํฐ ๋ฌธ์ œ๋ฅผ ์ž‘์€ ๋ฌธ์ œ๋กœ ์ชผ๊ฐœ์„œ ํ•ด๊ฒฐํ•œ๋‹ค.DP๋Š” Devide-and-Conquer๋ผ๋Š” ์›๋ฆฌ์— ๊ธฐ๋ฐ˜์„ ๋‘๊ณ  ์žˆ์œผ๋ฉฐ, ์ด์ „์— ๊ณ„์‚ฐํ•ด๋‘” ๊ฐ’์„ ๋ฉ”๋ชจ๋ฆฌ(๋ฐฐ์—ด ๋“ฑ)์— ์ €์žฅํ•ด์„œ ๋ฐ˜๋ณต ์ž‘์—…์„ ์ค„์ด๋Š” ๊ธฐ๋ฒ•(Memoization)์ด ํ•ต์‹ฌ์ด๋‹ค.  ์˜ˆ์‹œ๊ฐ€๋ฐฉ์— ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ๋ฌผ๊ฑด์˜ ๋ฌด๊ฒŒ์™€ ๊ฐ€์น˜๊ฐ€ ์•„๋ž˜์˜ ํ‘œ์™€ ๊ฐ™์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž.๋ฌผ๊ฑด1234๋ฌด๊ฒŒ6435๊ฐ€์น˜138612  โ‘  2์ฐจ์› ๋ฐฐ์—ด์„ ๋งŒ๋“œ๋Š”๋ฐ, ์ด ๋•Œ, (i + 1)(j + 1) ํฌ๊ธฐ์˜ ๋ฐฐ์—ด์„ ๋งŒ๋“ค๊ณ  0์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค. ์ด ๋•Œ, ํ–‰ i๋Š” ๋ฌผ๊ฑด i(0 ~ 4)๊นŒ์ง€ ๋„ฃ์„ ์ˆ˜ ์žˆ์„ ๋•Œ๋ฅผ ์˜๋ฏธํ•˜๊ณ , ์—ด j(0 ~ 7)๋Š” ๊ฐ€๋ฐฉ์˜ ์ตœ๋Œ€ ๋ฌด๊ฒŒ๋ฅผ ์˜๋ฏธํ•œ๋‹ค...

Algorithm/Baekjoon

๋ฐฑ์ค€ 12865๋ฒˆ - ํ‰๋ฒ”ํ•œ ๋ฐฐ๋‚ญ(Node.js)

๋ฐฑ์ค€ 12865๋ฒˆ - ํ‰๋ฒ”ํ•œ ๋ฐฐ๋‚ญ(Node.js)https://www.acmicpc.net/problem/12865 12865๋ฒˆ: ํ‰๋ฒ”ํ•œ ๋ฐฐ๋‚ญ์ฒซ ์ค„์— ๋ฌผํ’ˆ์˜ ์ˆ˜ N(1 โ‰ค N โ‰ค 100)๊ณผ ์ค€์„œ๊ฐ€ ๋ฒ„ํ‹ธ ์ˆ˜ ์žˆ๋Š” ๋ฌด๊ฒŒ K(1 โ‰ค K โ‰ค 100,000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ฑฐ์ณ ๊ฐ ๋ฌผ๊ฑด์˜ ๋ฌด๊ฒŒ W(1 โ‰ค W โ‰ค 100,000)์™€ ํ•ด๋‹น ๋ฌผ๊ฑด์˜ ๊ฐ€์น˜ V(0 โ‰ค V โ‰ค 1,000)www.acmicpc.net   ์ฒซ ๋ฒˆ์งธ ๋‚˜์˜ ํ’€์ด์ œ์ถœ์‹œ ๊ฒฐ๊ณผ๋Š” ํ‹€๋ ธ์Šต๋‹ˆ๋‹ค.๊ฐ„๋‹จํ•˜๊ฒŒ ์ด ์ฝ”๋“œ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์ž๋ฉด, ์ด์ค‘ for๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ๊ฐ€์น˜ or ๊ฐ€์น˜์˜ ํ•ฉ์˜ ์ตœ๋Œ“๊ฐ’์˜ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ worthArr์ด๋ผ๋Š” ๋ฐฐ์—ด์— ๋„ฃ์–ด์ฃผ๊ณ , worthArr์˜ ๊ฐ’ ์ค‘ ์ตœ๋Œ“๊ฐ’์„ ๋‹ต์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ํ’€์—ˆ๋‹ค.ํ•˜์ง€๋งŒ, ์ด ๋ฐฉ๋ฒ•์—๋Š” ์ƒ๊ฐํ•ด๋ณด๋‹ˆ ..

Algorithm/Baekjoon

๋ฐฑ์ค€ 2357๋ฒˆ - ์ตœ์†Ÿ๊ฐ’๊ณผ ์ตœ๋Œ“๊ฐ’(Node.js)

๋ฐฑ์ค€ 2357๋ฒˆ - ์ตœ์†Ÿ๊ฐ’๊ณผ ์ตœ๋Œ“๊ฐ’(Node.js)https://www.acmicpc.net/problem/2357 2357๋ฒˆ: ์ตœ์†Ÿ๊ฐ’๊ณผ ์ตœ๋Œ“๊ฐ’N(1 โ‰ค N โ‰ค 100,000)๊ฐœ์˜ ์ •์ˆ˜๋“ค์ด ์žˆ์„ ๋•Œ, a๋ฒˆ์งธ ์ •์ˆ˜๋ถ€ํ„ฐ b๋ฒˆ์งธ ์ •์ˆ˜๊นŒ์ง€ ์ค‘์—์„œ ์ œ์ผ ์ž‘์€ ์ •์ˆ˜, ๋˜๋Š” ์ œ์ผ ํฐ ์ •์ˆ˜๋ฅผ ์ฐพ๋Š” ๊ฒƒ์€ ์–ด๋ ค์šด ์ผ์ด ์•„๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด์™€ ๊ฐ™์€ a, b์˜ ์Œ์ด M(1 โ‰ค M โ‰ค 100www.acmicpc.net   ์ฒซ ๋ฒˆ์งธ ๋‚˜์˜ ํ’€์ด์ œ์ถœ์‹œ ๋Ÿฐํƒ€์ž„์—๋Ÿฌ(TypeError) ๋ฐœ์ƒTypeError๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ Type์„ ๊ณ„์†ํ•ด์„œ ๋ฐ”๊ฟ”์ฃผ์—ˆ์ง€๋งŒ, ๋๋‚ด ์ด ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. + ์ž…๋ ฅ์„ ์ด๋Ÿฐ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฐ›๋Š”๊ฑด์ง€๋„ ์•„์ง ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค. (๊ฑฐ์˜ 2์ผ ๋™์•ˆ fs ๋ชจ๋“ˆ ์‚ฌ์šฉํ•ด์„œ ์ž…๋ ฅ ๋ฐ›๋Š” ๋ฐฉ๋ฒ•์„ ๊ณต๋ถ€ํ–ˆ์Œ์—๋„ ..)  ๋‘ ๋ฒˆ์งธ ๋‚˜์˜ ํ’€์ด์ œ..

Algorithm

์„ธ๊ทธ๋จผํŠธ ํŠธ๋ฆฌ(Segment Tree)

์„ธ๊ทธ๋จผํŠธ ํŠธ๋ฆฌ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์กด์žฌํ•  ๋•Œ ํŠน์ • ๊ตฌ๊ฐ„์˜ ํ•ฉ(์ตœ์†Ÿ๊ฐ’, ๊ณฑ ๋“ฑ)์„ ๊ตฌํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค.ํŠธ๋ฆฌ ์ข…๋ฅ˜ ์ค‘ ํ•˜๋‚˜๋กœ ์ด์ง„ ํŠธ๋ฆฌ์˜ ํ˜•ํƒœ์ด๋ฉฐ, ํŠน์ • ๊ตฌ๊ฐ„์˜ ํ•ฉ์„ ๊ฐ€์žฅ ๋น ๋ฅด๊ฒŒ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(logN)์–ธ์ œ ์‚ฌ์šฉํ• ๊นŒ ?0123456789์œ„์™€ ๊ฐ™์€ ๋ฐฐ์—ด์—์„œ 2๋ถ€ํ„ฐ 8๊นŒ์ง€์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋”ํ•˜๋ ค๋ฉด ๋ฒ”์œ„์˜ ์›์†Œ๋ฅผ ํ•˜๋‚˜์”ฉ ๋‹ค ๋”ํ•˜๋ฉด ๋œ๋‹ค.์ด๋Ÿฌํ•œ ๋ฐฉ์‹์œผ๋กœ ๋‹ค๋ฅธ ํŠน์ • ๊ตฌ๊ฐ„์˜ ํ•ฉ์„ ๊ตฌํ•œ๋‹ค๊ณ  ๊ณ ๋ คํ–ˆ์„ ๋•Œ ์•ž์—์„œ ํ•˜๋‚˜์”ฉ ๋”ํ•˜๋ฏ€๋กœ ๋ฐ์ดํ„ฐ์˜ ๊ฐฏ์ˆ˜๊ฐ€ N์ด๋ฉด ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(N)์ด๋‹ค.๋”ฐ๋ผ์„œ, ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์œผ๋กœ ๊ตฌ๊ฐ„์˜ ํ•ฉ์„ ๊ตฌํ•˜๋ฉด ์†๋„๊ฐ€ ๋„ˆ๋ฌด ๋Š๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ๋” ์ข‹์€ ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•˜๋‹ค.์ด ๋•Œ, ๋” ์ข‹์€ ๋ฐฉ๋ฒ•์€ ์„ธ๊ทธ๋จผํŠธ ํŠธ๋ฆฌ(Segment Tree)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์„ธ๊ทธ๋จผํŠธ ํŠธ๋ฆฌ๋ž€ ?๋งจ ๋ฐ‘(leaf) ๋…ธ๋“œ๋Š” ์ž๊ธฐ..

Algorithm/Baekjoon

๋ฐฑ์ค€ 1676๋ฒˆ - ํŒฉํ† ๋ฆฌ์–ผ 0์˜ ๊ฐœ์ˆ˜(Node.js)

๋ฐฑ์ค€ 1676๋ฒˆ - ํŒฉํ† ๋ฆฌ์–ผ 0์˜ ๊ฐœ์ˆ˜(Node.js)https://www.acmicpc.net/problem/1676   ์ฒซ ๋ฒˆ์งธ ๋‚˜์˜ ํ’€์ด์ฒ˜์Œ ๋‚ด๊ฐ€ ์ด ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ  ์ƒ๊ฐํ•œ ๊ฒƒ์„ ์œ„์˜ ์ฝ”๋“œ๋ฅผ ๋ณด๊ณ  ์„ค๋ช…ํ•  ๊ฒƒ์ด๋‹ค.9 ~ 11๋ฒˆ์งธ ์ค„์€ ์ž…๋ ฅ๋œ N์— ๋”ฐ๋ผ N!์„ ๊ณ„์‚ฐํ•˜๋Š” ์ฝ”๋“œ์ด๋‹ค.13๋ฒˆ์งธ ์ค„์€ ๊ตฌํ•œ N!์˜ ๊ฐ’์„ split() ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•˜๋‚˜์”ฉ ์ž˜๋ผ์ฃผ๊ณ  ๊ทธ ๊ฐ’์„ answer์— ๋„ฃ์–ด์ฃผ์—ˆ๋‹ค. *split()๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ฌธ์ž์—ด๋กœ ๋งŒ๋“œ๋Š” ์ž‘์—…์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— String()์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด๋กœ ๋งŒ๋“œ๋Š” ์ž‘์—…์„ ํ•ด์ฃผ์—ˆ๋‹ค.15 ~ 21๋ฒˆ์งธ ์ค„์€ ์œ„์˜ split() ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ž๋ฅธ ๊ฒฐ๊ณผ์˜ ๋ฐฐ์—ด์ธ answer๋ฅผ ๋’ค์—์„œ๋ถ€ํ„ฐ ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ "0"์ด ๋‚˜์˜ค๋ฉด count๋ฅผ 1์”ฉ ๋”ํ•ด์ฃผ๊ณ , "0"์ด ์•„๋‹Œ..

React/2022-ไธŠ

Responsive Web ํ•˜๋ฉด์„œ

Responsive Web์„ ํ•˜๋ฉด์„œ ๋Š๋‚€์ px, em, rem, %, vw, vh ๋“ฑ๋“ฑ์ด ์žˆ๋‹ค. ๋‚˜๋Š” ๋ฐ˜์‘ํ˜• ์›น์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•˜์—ฌ rem์„ ์‚ฌ์šฉ์ค‘์ด๊ณ , html { font-size: 62.5% }๋กœ ์„ค์ •ํ•˜์˜€๋‹ค. ์ด ๋œป์€ font-size๋ฅผ 10px๋กœ ์„ค์ •ํ•˜๊ฒ ๋‹ค๋Š” ๋œป์ด๋‹ค. rem๊ณผ em์˜ ์ฐจ์ด์ ์€ rem์€ ๋ฃจํŠธ ํƒœ๊ทธ์˜ ์˜ํ–ฅ์„ ๋ฐ›๊ณ  em์€ ๋ถ€๋ชจ ํƒœ๊ทธ์˜ ์˜ํ–ฅ์„ ๋ฐ›๋Š”๋‹ค. *** rem์„ ์‚ฌ์šฉํ•  ๋•Œ, padding, margin ๋“ฑ์— ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋œ๋‹ค๊ณ  ํ•œ๋‹ค.      :: ์‚ฌ์šฉ์ž๊ฐ€ ์ž„์˜๋กœ ๊ธ€์”จ ํฌ๊ธฐ๋ฅผ ํ‚ค์› ์„ ๊ฒฝ์šฐ ํ™”๋ฉด์ด ์ž˜๋ฆฌ๊ฑฐ๋‚˜ ํ•˜๋Š” ๋“ฑ์˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.

React/2022-ไธŠ

Atomic Pattern

Atomic Pattern์•„ํ† ๋ฏน ๋””์ž์ธ ํŒจํ„ด์€ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ž‘๊ณ  ๋‹จ์ˆœํ•œ ์š”์†Œ๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฐœ๋…์ด๋‹ค.์•„ํ† ๋ฏน ๋””์ž์ธ ํŒจํ„ด์€ Atoms(์›์ž), Molecules(๋ถ„์ž), Organisms(์œ ๊ธฐ์ฒด), Templates(ํ…œํ”Œ๋ฆฟ)์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด์ง€๊ณ  ์ตœ์ข…์ ์œผ๋กœ๋Š” Pages ๋‹จ์œ„๊ฐ€ ๋œ๋‹ค.์ฆ‰, ์ผ๊ด€๋œ UI๋ฅผ ๋งŒ๋“ค๊ณ  ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ํ–ฅ์ƒ์‹œ์ผœ์ค€๋‹ค.  ๊ตฌ์„ฑ์š”์†Œ Atomsโ”Œ ์›์ž๋Š” ๋ฒ„ํŠผ, ์ œ๋ชฉ ํ…์ŠคํŠธ ์ž…๋ ฅ ํ•„๋“œ์™€ ๊ฐ™์€ ๊ฐ€์žฅ ์ž‘์€ ๊ตฌ์„ฑ ์ปดํฌ๋„ŒํŠธ์ด๋‹ค.โ”” ๋ชจ๋“  ์ปดํฌ๋„ŒํŠธ๋“ค์˜ ๊ธฐ์ดˆ๊ฐ€ ๋˜๋Š” ๋ธ”๋ก์ด๋ฉฐ, ๋” ์ด์ƒ ๋ถ„ํ•ด ๋  ์ˆ˜ ์—†๋Š” ํ•„์ˆ˜ ์š”์†Œ์ด๋‹ค. Moleculesโ”” ๋ถ„์ž๋Š” 2๊ฐœ ์ด์ƒ์˜ ์›์ž๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. Organismsโ”” ๋ถ„์ž๋“ค์˜ ๋ชจ์Œ์ด๋‹ค. Templatesโ”” ์œ ๊ธฐ์ฒด๋“ค์„ ๋ชจ์•„ ํ…œํ”Œ๋ฆฟ์œผ๋กœ ์ƒ์„ฑํ•œ ๊ฒƒ์ด๋‹ค. Pagesโ”” ์‹ค์ œ ํŽ˜์ด์ง€๋ฅผ ๊ตฌ์„ฑ..