์ „์ฒด ๊ธ€ 58

[Data Science] EPOCH_Kaggle 1์ฃผ์ฐจ

[4๊ฐœ์˜ ์ •๋‹ต์ด ๋ชจ๋‘ ๋งˆ์ง€๋ง‰ 4๊ฐœ์ผ ๋•Œ]#Prediction (์˜ˆ์ธก๊ฒฐ๊ณผ)0 0 0 1 1 1 1#Precicion (์˜ˆ์ธก์˜ ์ •ํ™•๋„)0 0 0 1/4 2/5 3/6 4/7#Average Precision (์˜ˆ์ธก ์ •ํ™•๋„์˜ ํ‰๊ท )(1/1 + 2/2 + 3/3 + 4/4) / 4 = 1.002.1 ๊ฒฝ์ง„๋Œ€ํšŒ ์†Œ๊ฐœ์‚ฐํƒ„๋ฐ๋ฅด ์€ํ–‰์€ ๊ณ ๊ฐ ๋งž์ถคํ˜• ์ œํ’ˆ ์ถ”์ฒœ ์ œ๊ณต์†Œ์ˆ˜ ๊ณ ๊ฐ์—๊ฒŒ๋งŒ ๋‹ค์–‘ํ•œ ์ถ”์ฒœ ์ œ๊ณต, ๋‚˜๋จธ์ง€ ๊ณ ๊ฐ์—๊ฒŒ๋Š” ์ œํ’ˆ์ถ”์ฒœ๊ธฐํšŒ๊ฐ€ ์ ์–ด ๋ถˆ๊ท ๋“ฑํ•œ ๊ณ ๊ฐ๊ฒฝํ—˜์œผ๋กœ ์ด์–ด์ง„๋‹ค. ๊ณ ๊ฐ์˜ ๊ณผ๊ฑฐ ์ด๋ ฅ๊ณผ ์œ ์‚ฌํ•œ ๊ณ ๊ฐ๊ตฐ๋“ค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ค์Œ๋‹ฌ์— ํ•ด๋‹น ๊ณ ๊ฐ์ด ๋ฌด์Šจ ์ œํ’ˆ์„ ์‚ฌ์šฉํ• ์ง€ ์˜ˆ์ธกํ•˜๋Š” ๋ฌธ์ œ ์ค€๋น„๋” ํšจ๊ณผ์ ์ธ ์ถ”์ฒœ์‹œ์Šคํ…œ์„ ๊ฐ–์ถ”๊ฒŒ ๋œ๋‹ค๋ฉด ์‚ฐํƒ„๋ฐ๋ฅด๋Š” ๊ณ ๊ฐ์ด ์ธ์ƒ์˜ ์–ด๋Š ๋‹จ๊ณ„์— ์žˆ๋“  ๋ชจ๋“  ๊ณ ๊ฐ์˜ ๊ฐœ์ธ์  ํ•„์š”์— ์•Œ๋งž๋Š” ์ œํ’ˆ์„ ์ถ”์ฒœํ•˜์—ฌ ๊ทธ๋“ค์„ ๋งŒ์กฑ..

CS/Data Science 2025.03.06

[C++] ์•ŒํŠœ๋น„ํŠœ 3์ฃผ์ฐจ - ์ •์ˆ˜๋ก 

์ •์ˆ˜๋ก ์ด๋ž€?๊ฐ์ข… ์ˆ˜์˜ ์„ฑ์งˆ์„ ๋‹ค๋ฃฌ๋‹ค.์•ฝ์ˆ˜ ๋ฐฐ์ˆ˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ ์†Œ์ˆ˜ ํŒ๊ฒฐ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์†Œ์ธ์ˆ˜๋ถ„ํ•ด ์ด์šฉ - ๋‘ ์ˆ˜ ์ค‘ ์ž‘์€ ์ˆ˜ ๊ธฐ์ค€์œผ๋กœ ๋Œ๋ฆฌ๋ฉด์„œ ๊ฐ€์žฅ ํฐ ๊ณตํ†ต ์•ฝ์ˆ˜ ๊ตฌํ•˜๊ธฐ๊ตฌํ˜„ ๊นŒ๋‹ค๋กœ์›€, ์‹œ๊ฐ„๋ณต์žก๋„ O(n)์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•: ์‹œ๊ฐ„๋ณต์žก๋„ O(log(n))๊ธฐ๋ณธ ์›๋ฆฌA์™€ B์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜ = A-B ์™€ B์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜A = a*GB = b*G(a์™€ b๋Š” ์„œ๋กœ์†Œ)A - B = a*G-b*G = (a-b)*G(a-b)์™€ b ๋˜ํ•œ ์„œ๋กœ์†Œ -> A-B ์™€ B์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋„ G์ด๋ฏธ gcdโก(a,b)=1 ์ด๋ฏ€๋กœ, ์–ด๋–ค ์ •์ˆ˜ x,y ๊ฐ€ ์กด์žฌํ•ด์„œ ax+by=1์„ ๋งŒ์กฑ์‹œํ‚จ๋‹ค. ๊ทธ๋Ÿผ (a−b)x+by=1๋„ ๋งŒ์กฑ. ์–ด๋–ค ์ •์ˆ˜ ์กฐํ•ฉ์œผ๋กœ 1์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์œผ๋‹ˆ๊นŒ gcd(a−b,b)=1 ์ด ๋œ๋‹ค.GCD(A,B) = GCD(A-B,B) -> A..

WEB ๊ธฐ์ดˆ์ง€์‹(React/html/css/JavaScript)

React๋ž€?์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ JavaScript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌํŽ˜์ด์Šค๋ถ์—์„œ ๊ฐœ๋ฐœ์ค‘, ํ˜„์žฌ๋Š” ๊ฐœ๋ฐœ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ์œ ์ง€๋ณด์ˆ˜์ค‘React๋Š” ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ interactive, ๋™์ ์ธ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค.JSX๋ž€?JavaScript XML :์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๊ตฌ๋ฌธํ™•์žฅ. React์—์„œ ์ž์ฃผ ์‚ฌ์šฉJSX๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด JS ์ฝ”๋“œ ๋‚ด์— HTML๊ณผ ์œ ์‚ฌํ•œ ์ฝ”๋“œ ์ž‘์„ฑ ๊ฐ€๋Šฅ -> React ์ปดํฌ๋„ŒํŠธ์˜ ๊ตฌ์กฐ์™€ ์™ธํ˜•์„ ์ •์˜ํ•˜๊ธฐ ๋” ์‰ฌ์›Œ์ง„๋‹ค.const element = ์•ˆ๋…•ํ•˜์„ธ์š”. :JSX๋Š” ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‹คํ–‰ ์ „ ์ผ๋ฐ˜ JS์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ React ์ปดํฌ๋„ŒํŠธ๋ž€?์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ผ๋ถ€๋ถ„์„ ์บก์Šํ™”ํ•œ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ณ  ๋…๋ฆฝ์ ์ธ ๋นŒ๋”ฉ ๋ธ”๋ก๋ฒ„ํŠผ, ํผ๊ณผ ๊ฐ™์€ UI์š”์†Œ๋ถ€ํ„ฐ ๋‚ด๋น„๊ฒŒ์ด์…˜ ๋ฐ”, ์ „..

[Data Science] Kaggle ์‚ฌ์šฉ๋ฒ•

1. Kaggle์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€์บ๊ธ€์€ ๋ฐ์ดํ„ฐ ๋ถ„์„ ๊ฒฝ์ง„๋Œ€ํšŒ ์ฃผ์ตœ ํ”Œ๋žซํผ. ๊ฒฝ์ง„๋Œ€ํšŒ๋Š” ํšŒ์‚ฌ์˜ ์—ฐ๊ตฌ๊ณผ์ œ,์ฃผ์š” ์„œ๋น„์Šค๋ฅผ ์œ„ํ•ด ๋ถ„์„์ด ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•ด์„œ ์ฃผ์ตœํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ .์ธ๊ณต์ง€๋Šฅ, ๋จธ์‹ ๋Ÿฌ๋‹ ๋ถ -> ์ฐธ๊ฐ€์ž ์ฆ๊ฐ€ -> Alphabet์˜ ์ธ์ˆ˜ -> Kaggle์€ ๋‹จ์ˆœ ํ”Œ๋žซํผ์ด ์•„๋‹Œ ๋ฐ์ดํ„ฐ์‚ฌ์ด์–ธํ‹ฐ์ŠคํŠธ, ์—”์ง€๋‹ˆ์–ด๋“ค์—๊ฒŒ ๋งค์šฐ ์ค‘์š”ํ•œ ์‚ฌ์ดํŠธ๊ฐ€ ๋˜์—ˆ๋‹ค.Kaggle์˜ ์‚ฌ์šฉ์ž: Kaggler / Kaggle์—์„œ ํ™œ๋™ํ•˜๊ฑฐ๋‚˜ Competition์— ์ฐธ๊ฐ€ํ•˜๋Š” ๊ฒƒ : KagglingํŒŒ์ด์ฌ, ๋จธ์‹ ๋Ÿฌ๋‹, ์‹œ๊ฐํ™” ๋“ฑ์˜ ์‹ค๋ฌด, ์‹ค์šฉ์  ๊ฐ•์˜ ์ œ๊ณต. ๋ชจ๋“  ๊ฐ•์˜๋Š” ์˜์–ด, ๋ฌด๋ฃŒ, ์ˆ˜๋ฃŒ์ฆ ์ œ๊ณตํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด: ์ผ๋ฐ˜์ ์œผ๋กœ python๊ณผ Rํ•„์š”ํ•œ ์ง€์‹: python, ๋ฐ์ดํ„ฐ๋ถ„์„, ์˜์–ด2. Kaggle์€ ์–ด๋–ป๊ฒŒ ํ™œ์šฉ๋˜๋Š”๊ฐ€๋ฐ์ดํ„ฐ ๋ถ„์„์„ ์œ„ํ•œ ์ธํ”„๋ผ..

CS/Data Science 2025.02.28

[C++] ์•ŒํŠœ๋น„ํŠœ 2์ฃผ์ฐจ - ์Šคํƒ, ํ, ๋ฑ

์Šคํƒ(Stack)LIFO(last in first out)์ž๋ฃŒ์˜ ๋งจ ๋ ์œ„์น˜์—์„œ๋งŒ ๋ชจ๋“  ์—ฐ์‚ฐ์ด ์ด๋ฃจ์–ด์ง„๋‹ค.๋ชจ๋“  ์—ฐ์‚ฐ์— ๋Œ€ํ•œ ์‹œ๊ฐ„๋ณต์žก๋„๋Š” O(1)์—ฐ์‚ฐ์ด ์ด๋ฃจ์–ด์ง€๋Š” ์œ„์น˜ : top, ์‚ฝ์ž…: push, ์‚ญ์ œ: pop std::stackpush(element): top์— ์›์†Œ ์ถ”๊ฐ€pop(): top์— ์žˆ๋Š” ์›์†Œ ์‚ญ์ œtop(): top์— ์žˆ๋Š” ์›์†Œ ๋ฐ˜ํ™˜empty(): ์Šคํƒ์ด ๋น„์–ด์žˆ๋Š”์ง€ ํ™•์ธ(๋น„์–ด์žˆ์œผ๋ฉด true)size(): ์Šคํƒ ์‚ฌ์ด์ฆˆ ๋ฐ˜ํ™˜* ํŒŒ์ด์ฌ์€ ?๋”ฐ๋กœ Stack ์ž๋ฃŒ๊ตฌ์กฐ ์ œ๊ณต x. ์ด๋ฏธ ๋ฆฌ์ŠคํŠธ์— ๋ชจ๋‘ ๊ตฌํ˜„๋ผ์žˆ๋‹ค.list()stack = list()์ผ ๋•Œ...stack.append(element): top์— ์›์†Œ ์ถ”๊ฐ€stack.pop(): top์— ์žˆ๋Š” ์›์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์‚ญ์ œstack[-1]: top์— ์žˆ๋Š” ..

[C++] ICPC 25W 9ํšŒ์ฐจ - dp

dynamic programming: ํฐ ๋ฌธ์ œ๋ฅผ ๋ถ€๋ถ„๋ฌธ์ œ๋กœ ์ชผ๊ฐœ์–ด ํ‘ธ๋Š”๋ฐ, ์—ฌ๋Ÿฌ ๋ฒˆ ๋‚˜์˜ค๋Š” ๋ถ€๋ถ„๋ฌธ์ œ๋ฅผ ๊ธฐ์–ตํ•ด์„œ ์ตœ์ ํ™”ํ•˜๋Š” ๊ธฐ๋ฒ• ๋ฉ”๋ชจ์ด์ œ์ด์…˜ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด: ๋‹จ์ง€ ์ด๋ฏธ ๊ณ„์‚ฐํ•œ ๊ฐ’์„ ๋“ค๊ณ ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ํ˜ธ์ถœ์˜ ์–‘์„ ์—„์ฒญ๋‚˜๊ฒŒ ์ค„์ด๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.dp - ๋ฉ”๋ชจ์ด์ œ์ด์…˜ : ์—ฌ๋Ÿฌ ๋ฒˆ ๋‚˜์˜ค๋Š” ๋ถ€๋ถ„ ๋ฌธ์ œ๋ฅผ ๊ธฐ์–ตํ•œ๋‹ค.์‚ฌ์šฉ๋ฒ•๊ฐ’์„ ์ €์žฅํ•ด๋‘˜ ํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐํ…Œ์ด๋ธ”์„ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•ด๋‘๊ธฐ;๋‚ด๊ฐ€ ์ง€๊ธˆ ํ’€์–ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ์˜ ๋‹ต์ด ํ…Œ์ด๋ธ”์— ์กด์žฌํ•˜๋ฉด ์‚ฌ์šฉํ•˜๊ธฐdp - ๋ถ„ํ• ์ •๋ณต : ๋ฌธ์ œ๋ฅผ ๋ฐ”๋กœ ํ•ด๊ฒฐ ๊ฐ€๋Šฅํ•˜๋ฉด ํ•ด๊ฒฐํ•จ. ์ง€๊ธˆ ๋ฐ”๋กœ ํ•ด๊ฒฐ ๋ถˆ๊ฐ€ํ•˜๋ฉด ๋ฌธ์ œ๋ฅผ ์ž˜๊ฒŒ ์ชผ๊ฐ  ํ›„ ์กฐ๋ฆฝ๋ฌธ์ œ ์ •์˜๋ถ€๋ถ„๋ฌธ์ œ ์ •์˜๋‚ด๊ฐ€ ์ •์˜ํ•œ ๋ถ€๋ถ„๋ฌธ์ œ๋กœ ์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ ๊ฐ€๋Šฅํ•œ์ง€ ๋ณด์ด๊ธฐ๋‚ด๊ฐ€ ์ •์˜ํ•œ ๋ถ€๋ถ„๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ ๊ฐ€๋Šฅํ•œ์ง€ ๋ณด์ด๊ธฐ

[C++] ICPC 25W 7ํšŒ์ฐจ - ๊ทธ๋ž˜ํ”„, ํŠธ๋ฆฌ, map/set

๊ทธ๋ž˜ํ”„: ์ •์ ์˜ ์ง‘ํ•ฉ๊ณผ ๊ฐ„์„ ์˜ ์ง‘ํ•ฉ์œผ๋กœ ์ •์˜๋˜๋Š” ์ด์‚ฐ์ˆ˜ํ•™์˜ ์ถ”์ƒ์  ๊ตฌ์กฐ์ •์ : ์–ด๋– ํ•œ ์ƒํƒœ or ์œ„์น˜ ํ‘œํ˜„๊ฐ„์„ : ์ •์  ์‚ฌ์ด์˜ ๊ด€๊ณ„๋‚˜ ์—ฐ๊ฒฐ์„ฑ ํ‘œํ˜„ex) ์ง€ํ•˜์ฒ  ๋…ธ์„ ๋„๊ทธ๋ž˜ํ”„์˜ ์ข…๋ฅ˜๋ชจ๋“  ๊ฐ„์„ ์ด ๋ฐฉํ–ฅ์ด ์ •ํ•ด์ ธ ์žˆ์ง€ ์•Š์€ ๊ทธ๋ž˜ํ”„ํ•˜๋‚˜์˜ ๊ฐ„์„ ์œผ๋กœ ์–‘๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™ ๊ฐ€๋Šฅ๋ฐฉํ–ฅ์ด ์ •ํ•ด์ ธ ์žˆ๋Š” ๊ฐ„์„ ์ด ์žˆ๋Š” ๊ทธ๋ž˜ํ”„์–‘๋ฐฉํ–ฅ ๊ฐ„์„ ๋„ ์‚ฌ์‹ค ๋ฐฉํ–ฅ์ด ์žˆ๋Š” ๊ฐ„์„  ๋‘ ๊ฐœ๋กœ ๋‚˜๋ˆ ์„œ ์ƒ๊ฐํ•ด๋ณผ ์ˆ˜ ์žˆ์Œ๊ฐ„์„ ์— ๊ฐ€์ค‘์น˜๊ฐ€ ์žˆ๋Š” ๊ทธ๋ž˜ํ”„๊ฐ€์ค‘์น˜: ๊ฐ„์„  ์ด์šฉํ•˜๋Š” ๋น„์šฉ์ผ์ƒ์˜ˆ์‹œ: ์ง€๋„ ์ƒ์˜ ์—ฌ๋Ÿฌ ์œ„์น˜๋ฅผ ์ •์ ์œผ๋กœ, ์ •์ ๋“ค ์‚ฌ์ด์˜ ๊ฒฝ๋กœ๋ฅผ ๊ฐ„์„ ์œผ๋กœ ์žก์œผ๋ฉด ๊ฒฝ๋กœ์˜ ์†Œ์š”์‹œ๊ฐ„์„ ๊ฐ€์ค‘์น˜๋กœ ๋ชจ๋ธ๋ง ๊ฐ€๋Šฅ๊ฐ™์€ ์ง‘ํ•ฉ์˜ ๋‘ ์ •์ ์ด ๊ฐ„์„ ์œผ๋กœ ์ด์–ด์ง€์ง€ ์•Š๊ฒŒ๋” ์ •์ ๋“ค์„ ๋‘ ์ง‘ํ•ฉ์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š” ๊ทธ๋ž˜ํ”„์ดˆ๋ก์ƒ‰ ์ •์ ๋“ค์„ ํ•˜๋‚˜์˜ ์ง‘ํ•ฉ์œผ๋กœ ๋ฌถ๊ณ  ํšŒ์ƒ‰ ์ •์ ๋“ค์„ ํ•˜๋‚˜์˜ ์ง‘ํ•ฉ์œผ๋กœ ๋ฌถ์„ ์ˆ˜ ์žˆ๋‹ค.ํŒ๋ณ„๋ฒ•์ •..

[C++] ICPC 25W 6ํšŒ์ฐจ - ์žฌ๊ท€ ๋ฐ DnC(๋ถ„ํ• ์ •๋ณต)

1. ์žฌ๊ท€ํ•จ์ˆ˜ํ•จ์ˆ˜ ์•ˆ์—์„œ ํ•จ์ˆ˜ ํ˜ธ์ถœ ๊ฐ€๋Šฅ. ์ž๊ธฐ ์ž์‹ ๋„ ํ˜ธ์ถœ ๊ฐ€๋Šฅ >> ์žฌ๊ท€ํ•จ์ˆ˜void f(int x){ // x=3 cout ์œ„๋Š” ์žฌ๊ท€ํ•จ์ˆ˜์˜ ์˜ˆ์‹œ. ์‹คํ–‰๊ณผ์ •์„ ๋”ฐ๋ผ๊ฐ€๋ณด๋ฉด ์ด์ƒํ•œ ์  ๋ฐœ๊ฒฌ ! x= 3์—์„œ ์‹œ์ž‘ํ•œ๋‹ค๊ณ  ๊ฐ€์ •์žฌ๊ท€์ ์œผ๋กœ f(3)์ด ํ˜ธ์ถœ๋œ ํ›„ f(2)๊ฐ€ ํ˜ธ์ถœ๋œ ํ›„ f(1)์ด ํ˜ธ์ถœ๋œ ํ›„,,, ํ•จ์ˆ˜๊ฐ€ ์ข…๋ฃŒ๋˜์ง€ ์•Š์Œ!๋”ฐ๋ผ์„œ ์žฌ๊ท€ํ•จ์ˆ˜๋Š” ์ข…๋ฃŒ์กฐ๊ฑด ๋˜๋Š” ๊ธฐ์ €์กฐ๊ฑด์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”void f(int x){ // x=3 cout xvoid f(int x){ if(x๋‘ ์˜ˆ์‹œ๋ฅผ ํ•ฉ์นœ ์˜ˆ์‹œ์™€ ํ˜ธ์ถœ๊ณผ์ •์„ ์‹œ๊ฐํ™”ํ•œ ๊ทธ๋ฆผ. ์žฌ๊ท€ํ˜ธ์ถœ์ด ๋ช‡ ๋ฒˆ ์ค‘์ฒฉ๋ผ ์žˆ๋Š”์ง€๋ฅผ ์žฌ๊ท€๊นŠ์ด๋ผ ๋ถ€๋ฅด๊ธฐ๋„ ํ•œ๋‹ค.void f(int x){ cout   ๋ฐฑํŠธ๋ž˜ํ‚น์žฌ๊ท€์ ์œผ๋กœ ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ํƒ์ƒ‰ํ•˜๋Š” ๋ฌธ์ œ. ์ผ๋ฐ˜์ ์œผ๋กœ ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๊ฑฐ๋‚˜ ์ด์— ๋Œ€ํ•ด..

[C++] ICPC 25W 5ํšŒ์ฐจ - ์™„์ „ํƒ์ƒ‰, ์ด๋ถ„ํƒ์ƒ‰

1. bruteforce(๋ฌด์ฐจ๋ณ„ ๋Œ€์ž…๊ณต๊ฒฉ)๋ชจ๋“  ๊ฒฝ์šฐ์— ๋Œ€ํ•˜์—ฌ ์กฐ๊ฑด์— ๋งž๋Š”์ง€ ๊ฒ€์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•๋”๋ณด๊ธฐ๋‹ค์Œ ์—ฐ๋ฆฝ๋ฐฉ์ •์‹์—์„œ x์™€ y์˜ ๊ฐ’์„ ๊ณ„์‚ฐํ•˜์‹œ์˜ค.   ax+by=c dx+ey=f ๊ฐ ์นธ์—๋Š” -999 ์ด์ƒ 999 ์ดํ•˜์˜ ์ •์ˆ˜๋งŒ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค.์‹์ •๋ฆฌ: ax + by = c , dx + ey = f , x = (c-by)/a๋กœ ๊ตฌํ•ด๋‘๊ณ  d(c-by)/a+ey = f , d(c-by) + ae , y = af y(ae-bd) = af-dc , y = (af-dc)/(ae-bd) ๋กœ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‚˜?! --> ์˜ค๋ฅ˜๋ฐœ์ƒ !!y = (af-dc)/(ae-bd) ์—์„œ ae-bd=0์ด๋ผ๋ฉด 0์œผ๋กœ ๋‚˜๋ˆ„๋Š” ์˜ค๋ฅ˜ ๋ฐœ์ƒ, ์ด๋ฅผ ์ผ€์–ดํ•ด์คฌ๋‹ค ํ•ด๋„ ๋‚˜๋ˆ„๋Š” ์—ฐ์‚ฐ์œผ๋กœ ์ธํ•ด ๊ฐ์ข… ์–ต๊นŒ ๋ฐœ์ƒ๊ฐ€๋Šฅx์™€ y์˜ ๋ฒ”์œ„๊ฐ€ [-999,999]์ธ ์ •์ˆ˜์ด๋ฏ€๋กœ ..

[C++] ICPC 25W 4ํšŒ์ฐจ - ๋ˆ„์ ํ•ฉ, ํˆฌํฌ์ธํ„ฐ

prefix sum(๋ˆ„์ ํ•ฉ)๋ฐฐ์—ด์—์„œ ๊ฐ ์œ„์น˜๊นŒ์ง€์˜ ํ•ฉ์„ ๋ฏธ๋ฆฌ ๊ณ„์‚ฐํ•˜๋Š” ๊ธฐ๋ฒ•f(i) = ๊ตฌ๊ฐ„ [1,i]์˜ ์›์†Œ๋ฅผ ํ•ฉ์นœ ๊ฐ’์•Œ์•„๋ณผ ๊ฒƒ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๊ฒƒ์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€์ด๊ฑธ ๊ตฌํ•˜๋Š” ๊ฒƒ์€ ํšจ์œจ์ ์ธ๊ฐ€f(1)๋ถ€ํ„ฐ f(n)๊นŒ์ง€ ๋ชจ๋‘ ๊ตฌํ–ˆ๋‹ค๊ณ  ๊ฐ€์ • -> ๋ฌธ์ œ์—์„œ ์š”๊ตฌํ•˜๋Š” ๊ตฌ๊ฐ„[i,j]์— ์†ํ•˜๋Š” ์›์†Œ๋“ค์˜ ํ•ฉ์„ ๊ตฌํ•ด์•ผ ํ•จ.f(j)-f(i-1)๋กœ ๊ตฌํ•  ์ˆ˜ ์žˆ์Œf(1)๋ถ€ํ„ฐ f(n)๊นŒ์ง€ ๊ตฌํ•˜๋ ค๋ฉด 1+2+...+n๋ฒˆ ์—ฐ์‚ฐํ•ด์•ผ๋ผ์„œ ๋‚˜์ด๋ธŒ(๋ณ„ ๋‹ค๋ฅธ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜์ง€ ์•Š๋‹ค)ํ•˜๊ฒŒ ๊ตฌํ•˜๋ฉด O(N^2) but ์ตœ์ ํ™”๋ฅผ ํ†ตํ•ด O(N)์œผ๋กœ ๋งŒ๋“ค๊ธฐf(i)=๊ตฌ๊ฐ„ [1,i]์˜ ์›์†Œ์˜ ํ•ฉ ---> f(i-1)=๊ตฌ๊ฐ„ [1,i-1]์˜ ์›์†Œ ํ•ฉ.f(i-1)์„ ์•ˆ๋‹ค๋ฉด f(i)=f(i-1)+A[i]๋กœ O(1)๋งŒ์— ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.f(1)=A[1]์ด๋ฏ€๋กœ ์ด๋„ O(1)์ด..