Welcome To

ํ›„๋‹ˆ's Blog

Hello World
Let's Focus On
๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ(Data Preprocessing)
ยท
Machine Learning
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์ฃผ์š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.numpy๊ณ ์„ฑ๋Šฅ ์ˆ˜์น˜ ๊ณ„์‚ฐ๊ณผ ๋ฐฐ์—ด(ํ–‰๋ ฌ) ์—ฐ์‚ฐ์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค.๋จธ์‹ ๋Ÿฌ๋‹ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์ธ ํŠน์ง• ํ–‰๋ ฌ๊ณผ ํƒ€๊นƒ ๋ฒกํ„ฐ ๊ตฌ์„ฑ์— ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค.matplotlib๋‹ค์–‘ํ•œ ์ฐจํŠธ๋ฅผ ์‹œ๊ฐํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค.์ด ์ค‘์—์„œ๋„ pyplot ๋ชจ๋“ˆ์ด ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค.pandasCSV ํŒŒ์ผ ๋“ฑ ๋‹ค์–‘ํ•œ ํ˜•์‹์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ณ , ์ •๋ฆฌ ๋ฐ ์ „์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์œ ์šฉํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ๋ฐ์ดํ„ฐ์…‹ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ/์—”ํ„ฐํ‹ฐ ์ƒ์„ฑํ•˜๊ธฐ๋ฐ์ดํ„ฐ์…‹ ๋ถˆ๋Ÿฌ์˜ค๊ธฐimport pandas as pddataset = pd.read_csv("Data.csv")pandas์˜ read_csv() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด CSV ํŒŒ์ผ์„ ์‰ฝ๊ฒŒ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.์ด ํ•จ์ˆ˜๋Š” ํŒŒ์ผ์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„..
๋จธ์‹ ๋Ÿฌ๋‹ ๊ธฐ์ดˆ ๊ฐœ๋…
ยท
Machine Learning
๊ธฐ๋ณธ์ ์ธ ๊ณผ์ •๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ(Data Pre-Processing)๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ฆฌํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฅผ ํ›ˆ๋ จ ์…‹(training set)๊ณผ ํ…Œ์ŠคํŠธ ์…‹(test set)์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค.๋ณดํ†ต ๋ฐ์ดํ„ฐ ์…‹์˜ 20%๋Š” ํ…Œ์ŠคํŠธ ์…‹, 80%๋Š” ํŠธ๋ ˆ์ธ ์…‹์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค.๋ชจ๋ธ๋ง(Modeling)๋ชจ๋ธ์„ ๊ตฌ์ถ•ํ•œ ๋‹ค์Œ ๋ชจ๋ธ์„ ๊ต์œกํ•˜๊ณ  ์˜ˆ์ธกํ•œ๋‹ค.ํ‰๊ฐ€(Evaluation)์„ฑ๋Šฅ ์ง€ํ‘œ๋ฅผ ๊ณ„์‚ฐํ•ด์„œ ๋ชจ๋ธ์— ๋Œ€ํ•œ ํ‰๊ฐ€๋ฅผ ๋‚ด๋ฆฐ๋‹ค.๋ชจ๋ธ์— ์ž˜ ๋งž๋Š”์ง€, ๋ฐ์ดํ„ฐ์— ์ ํ•ฉํ•œ์ง€ ์•„๋‹Œ์ง€ ๋“ฑ์„ ํ‰๊ฐ€ํ•œ๋‹ค. ํ”ผ์ฒ˜ ์Šค์ผ€์ผ๋ง(Feature Scailing)ํ”ผ์ฒ˜ ์Šค์ผ€์ผ๋ง์€ ํ•ญ์ƒ ์—ด์— ์ ์šฉ๋œ๋‹ค.์ •๊ทœํ™”์™€ ํ‘œ์ค€ํ™”๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ํ•ญ๋ชฉ์ด ์žˆ๋‹ค. ์ •๊ทœํ™”(Normalization)์—ด ์•ˆ์˜ ์ตœ์†Œ ๊ฐ’์„ ๊ฐ€์ ธ๋‹ค ์—ด ์•ˆ์˜ ๋ชจ๋“  ๊ฐ’์—์„œ ์ตœ์†Œ๊ฐ’์„ ๋นผ๊ณ , ์ตœ๋Œ€๊ฐ’๊ณผ ์ตœ์†Œ๊ฐ’์˜ ์ฐจ์ด๋กœ ๋‚˜..
ํด๋ž˜์Šค
ยท
Typescript
ํด๋ž˜์ŠคOOP(Object-Oriented Programming)์ฝ”๋“œ์—์„œ ์‹ค์ œ์™€ ์œ ์‚ฌํ•œ ์—”ํ„ฐํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.์ฝ”๋“œ์—์„œ ์‹ค์ œ ์‚ฌ๋ฌผ๊ณผ ์ตœ๋Œ€ํ•œ ์œ ์‚ฌํ•œ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•ด ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋„๋ก ๋งŒ๋“œ๋Š” ์ž‘์—…์ด๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด, ์˜จ๋ผ์ธ ์‡ผํ•‘๋ชฐ์„ ๋งŒ๋“ค ๋•Œ ์ œํ’ˆ๋“ค์„ ๊ด€๋ฆฌ(์ œํ’ˆ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ)ํ•  ๊ฐ์ฒด์ธ ProductList๋ฅผ ๋งŒ๋“ค๊ณ , ๊ฐ ์ œํ’ˆ์˜ ์„ธ๋ถ€ ์ •๋ณด ๋“ฑ์˜ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ ์ œํ’ˆ์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” Product ๊ฐ์ฒด๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋Ÿฐ์‹์œผ๋กœ ์ œ์ž‘ํ•  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋…ผ๋ฆฌ์  ์š”์†Œ๋ฅผ ๋ถ„ํ• ํ•˜์—ฌ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.์ด๋ ‡๊ฒŒ ํ‘œํ˜„ํ•˜๋ฉด, ๊ฐœ๋ฐœ์ž๋“ค์ด ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šฐ๋ฉฐ ์œ ์ง€๋ณด์ˆ˜ ์ธก๋ฉด์—์„œ๋„ ์œ ์šฉํ•˜๋‹ค. ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ์™€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ํ”„๋กœํผํ‹ฐ์™€ ๋ฉ”์„œ๋“œ๊ฐ€ ๋‹ด๊ธด ๋ณต์žกํ•œ ์ž๋ฃŒ ๊ตฌ์กฐ์ธ ๊ฐ์ฒด๋ฅผ ์ง€์›ํ•˜๊ณ  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ์ด์™ธ์—๋„ ํด๋ž˜์Šค๋„..
ํ•จ์ˆ˜ ๋ฐ˜ํ™˜ ํƒ€์ž…, ํƒ€์ž… ๊ธฐ๋Šฅ ํ•จ์ˆ˜
ยท
Typescript
ํ•จ์ˆ˜ ๋ฐ˜ํ™˜ ํƒ€์ž…function addNum(number1: number, number2: number) { return number1 + number2;}์œ„ ์ฝ”๋“œ์—์„œ ์ž…๋ ฅ ๊ฐ’์ด ์ˆซ์ž์ด๋ฏ€๋กœ, ๋ฐ˜ํ™˜๊ฐ’๋„ ์ˆซ์ž์ผ ๊ฒƒ์ด๋ผ๊ณ  ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋Š” ์ถ”๋ก ํ•œ๋‹ค. ๋งŒ์•ฝ, ์œ„ ์ฝ”๋“œ์—์„œ number1.toString() + number2.toString()์œผ๋กœ ๋ฐ”๊พผ๋‹ค๋ฉด ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋Š” ์–ด๋–ป๊ฒŒ ์ถ”๋ก ํ• ๊นŒ ?๋‹น์—ฐํ•˜๊ฒŒ๋„, ๋ฐ˜ํ™˜ ํƒ€์ž…์„ ๋ฌธ์ž์—ด๋กœ ์ถ”๋ก ํ•œ๋‹ค.function addNum(number1: number, number2: number) { return number1.toString() + number2.toString();} ํƒ€์ž… ์ถ”๋ก  ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•˜์ง€ ์•Š๊ณ , ๋ฐ˜ํ™˜ ํƒ€์ž…์„ ๋ช…์‹œํ•ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•œ๋‹ค.ํ•˜์ง€๋งŒ, ์ถ”์ฒœํ•˜์ง€..
๋ฐฑ์ค€ 19637๋ฒˆ - IF๋ฌธ ์ข€ ๋Œ€์‹  ์จ์ค˜(Node.js/Javascript)
ยท
Algorithm/Baekjoon
๋ฐฑ์ค€ 19637๋ฒˆ - IF๋ฌธ ์ข€ ๋Œ€์‹  ์จ์ค˜๋ฌธ์ œhttps://www.acmicpc.net/problem/19637 ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ถ„๋ฅ˜ : ์ด๋ถ„ ํƒ์ƒ‰ ๋ฌธ์ œ ์„ค๋ช…N๊ฐœ์˜ ์นญํ˜ธ์™€ ๊ฐ ์นญํ˜ธ์— ํ•ด๋‹นํ•˜๋Š” ์ „ํˆฌ๋ ฅ์ด ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๊ณ , M๊ฐœ์˜ ์ „ํˆฌ๋ ฅ์ด ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š”๋ฐ, ๊ฐ M์˜ ์ „ํˆฌ๋ ฅ์ด ์–ด๋–ค ์นญํ˜ธ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š”์ง€ ํ‘ธ๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋ฌธ์ œ๋ฅผ ์ดํ•ดํ•˜๊ธฐ์—” ์–ด๋ ต์ง€ ์•Š์€ ๋ฌธ์ œ์ด๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด, ์˜ˆ์ œ ์ž…๋ ฅ 1๋กœ ์„ค๋ช…์„ ํ•˜์ž๋ฉด,10000 ์ดํ•˜๋Š” WEAK ์นญํ˜ธ, 100000 ์ดํ•˜๋Š” NORMAL ์นญํ˜ธ, 1000000 ์ดํ•˜๋Š” STRONG ์นญํ˜ธ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.๊ทธ ์•„๋ž˜์˜ ์ž…๋ ฅ์—์„œ 0์€ 10000 ์ดํ•˜์ด๊ธฐ ๋•Œ๋ฌธ์— WEAK ์นญํ˜ธ๋ฅผ ์–ป๊ฒŒ๋˜๊ณ , 10001์€ 10000 ์ด์ƒ 100000 ์ดํ•˜์ด๊ธฐ ๋•Œ๋ฌธ์— NORMAL ์นญํ˜ธ๋ฅผ ์–ป๋Š”๊ฒƒ์ด๋‹ค. ๋‚˜์˜ ์ฒซ๋ฒˆ์งธ ํ’€..
๋ฐฑ์ค€ 20310๋ฒˆ - ํƒ€๋…ธ์Šค(Node.js/Javascript)
ยท
Algorithm/Baekjoon
๋ฐฑ์ค€ 20310๋ฒˆ - ํƒ€๋…ธ์Šค๋ฌธ์ œhttps://www.acmicpc.net/problem/20310 ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ถ„๋ฅ˜ : ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ž์—ด ๋ฌธ์ œ ์„ค๋ช…๋ฌธ์ž์—ด S์—์„œ 0๊ณผ 1์˜ ์ ˆ๋ฐ˜์„ ์ œ๊ฑฐํ•˜๊ณ  ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด S'๋ฅผ ๋งŒ๋“ค๊ณ , ์ด ๋•Œ ๊ฐ€๋Šฅํ•œ ๋ฌธ์ž์—ด ์ค‘ ์‚ฌ์ „์ˆœ์œผ๋กœ ๊ฐ€์žฅ ๋น ๋ฅธ ๊ฒƒ์„ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด, 101010101010์ด ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค๋ฉด, 1์˜ ์ด ๊ฐœ์ˆ˜์˜ ์ ˆ๋ฐ˜์ธ 3๊ฐœ๋ฅผ ์ง€์šธ ์ˆ˜์žˆ๊ณ , 0์˜ ์ด ๊ฐœ์ˆ˜์˜ ์ ˆ๋ฐ˜์ธ 3๊ฐœ๋ฅผ ์ง€์šธ ์ˆ˜ ์žˆ๋‹ค.์ด๋•Œ์˜ ๋‹ต์€ 000111์ด ๋œ๋‹ค.๊ทธ๋ฆฌ๊ณ , 0๊ณผ 1์˜ ๊ฐœ์ˆ˜๋Š” ๋ฌด์กฐ๊ฑด ์ง์ˆ˜์ด๊ณ , ์ค‘์š”ํ•œ ๊ฒƒ์ด ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ๋งŒ๋“ค๋•Œ ์žฌ๋ฐฐ์น˜๋ฅผ ํ•˜๋ฉด ์•ˆ๋˜๊ณ  ์ˆœ์„œ๋Š” ์œ ์ง€ํ•ด์•ผ๋œ๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด, 11110000์ด ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค๋ฉด, ์žฌ๋ฐฐ์น˜๋ฅผ ํฌํ•จํ•œ๋‹ค๋ฉด 0011์ด ์‚ฌ์ „์ˆœ์œผ๋กœ ๊ฐ€์žฅ ๋น ๋ฅธ ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ,..
๋ฐฑ์ค€ 21921๋ฒˆ - ๋ธ”๋กœ๊ทธ(Node.js/Javascript)
ยท
Algorithm/Baekjoon
๋ฐฑ์ค€ 21921๋ฒˆ - ๋ธ”๋กœ๊ทธ๋ฌธ์ œhttps://www.acmicpc.net/problem/21921 ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ถ„๋ฅ˜ : ๋ˆ„์  ํ•ฉ ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ๋ฌธ์ œ ์„ค๋ช…์ž…๋ ฅ์˜ ์ฒซ์งธ์ค„์€ ๊ฐ๊ฐ N, X์ด๊ณ , ๋‘˜์งธ์ค„์€ N ํฌ๊ธฐ๋งŒํผ์˜ ๊ฐ ๋ฐฉ๋ฌธ์ž ์ˆ˜์ด๋‹ค.N์ผ ์ค‘ X์ผ ๋™์•ˆ ๊ฐ€์žฅ ๋งŽ์ด ๋“ค์–ด์˜จ ๋ฐฉ๋ฌธ์ž ์ˆ˜์™€ ๊ฐ€์žฅ ๋งŽ์ด ๋“ค์–ด์˜จ ๋ฐฉ๋ฌธ์ž ์ˆ˜๊ฐ€ ์ด ๋ช‡ ์ผ์ธ์ง€ ์ถœ๋ ฅํ•ด์ฃผ๋ฉด๋œ๋‹ค.๋งŒ์•ฝ, ์ด ๋•Œ N์ผ์˜ ๊ธฐ๊ฐ„ ๋™์•ˆ ์ „์ฒด ๊ฐ€์žฅ ๋งŽ์ด ๋“ค์–ด์˜จ ๋ฐฉ๋ฌธ์ž ์ˆ˜๊ฐ€ 0๋ช…์ด๋ผ๋ฉด SAD๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋‚˜์˜ ์ฒซ๋ฒˆ์งธ ํ’€์ดconst readline = require("readline");const rl = readline.createInterface({ input: process.stdin, output: process.stdout,});let input = []..
๋ฐฑ์ค€ 2164๋ฒˆ - ์นด๋“œ2(Node.js/Javascript)
ยท
Algorithm/Baekjoon
๋ฐฑ์ค€ 2164๋ฒˆ - ์นด๋“œ2๋ฌธ์ œhttps://www.acmicpc.net/problem/2164 ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ถ„๋ฅ˜ : ์ž๋ฃŒ ๊ตฌ์กฐ ํ ๋ฌธ์ œ ์„ค๋ช…๋ฌธ์ œ๋Š” ์ง„์งœ ๊ฐ„๋‹จํ•˜๋‹ค.1 ~ N๊นŒ์ง€์˜ ์นด๋“œ๊ฐ€ ์žˆ๊ณ , 1๋ฒˆ์ด ์ œ์ผ ์œ„ N ๋ฒˆ์ด ์ œ์ผ ์•„๋ž˜์— ์žˆ๋Š” ํ˜•ํƒœ๋กœ ์นด๋“œ๊ฐ€ ์Œ“์—ฌ์žˆ๋‹ค ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.๊ทธ๋ฆฌ๊ณ , ์ด๋•Œ ์•„๋ž˜์˜ ์กฐ๊ฑด์„ ์นด๋“œ๊ฐ€ ํ•œ ์žฅ๋งŒ ๋‚จ์„๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•ด์ฃผ๋ฉด ๋œ๋‹ค.์ œ์ผ ์œ„์— ์žˆ๋Š” ์นด๋“œ๋ฅผ ๋ฒ„๋ฆฐ๋‹ค.์ œ์ผ ์œ„์— ์žˆ๋Š” ์นด๋“œ๋ฅผ ์ œ์ผ ์•„๋ž˜๋กœ ์˜ฎ๊ธด๋‹ค.์˜ˆ๋ฅผ๋“ค์–ด, N = 6์ผ๋•Œ ์ž‘๋™ ๋‹จ๊ณ„๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ๋‚˜์˜ ์ฒซ๋ฒˆ์งธ ํ’€์ดconst readline = require("readline");const rl = readline.createInterface({ input: process.stdin, output: process.stdout,..