์ „์ฒด ๊ธ€

๊น€ํ˜œ์ธ์€ ๋ฌด์—‡์„ ๊ณต๋ถ€ํ• ๊นŒ
SetList์™€ ๋‹ฌ๋ฆฌ ์ˆœ์„œ๊ฐ€ ์ •๋ ฌ๋˜์ง€ ์•Š์œผ๋ฉฐ ์ค‘๋ณต์ด ํ—ˆ์šฉ๋˜์ง€ ์•Š๋Š” ์ปฌ๋ ‰์…˜์ด๋‹ค.์ธ๋ฑ์Šค๋กœ ์œ„์น˜๋ฅผ ์ง€์ •ํ•˜์—ฌ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์—†์œผ๋ฉฐ contains()๋กœ ๊ฐ์ฒด๊ฐ€ set์•ˆ์— ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ์‹์œผ๋กœ๋งŒ ์‚ฌ์šฉํ•œ๋‹ค.Set๋„ List์ฒ˜๋Ÿผ MutableSet๊ฐ€ ์กด์žฌํ•œ๋‹ค.๊ฐ์ฒด์˜ ์ถ”๊ฐ€, ์‚ญ์ œ๊ฐ€ ๊ฐ€๋Šฅํ•œ์ง€ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค.์š”์†Œ์˜ ์ถ”๊ฐ€๋Š” add(), ์š”์†Œ์˜ ์‚ญ์ œ๋Š” remove() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์˜ˆ์ œfun main(){ val a = mutableSetOf("์—ฐํ•„", "๋‹ฌ๋ ฅ", "์ง€์šฐ๊ฐœ") for(item in a){ println("$item") } a.add("ํ˜•๊ด‘ํŽœ") println(a) a.remove("๋‹ฌ๋ ฅ") println(a) println(a.con..
Data Class๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฐ์— ์ตœ์ ํ™”๋œ ํด๋ž˜์Šค์ด๋‹ค.5๊ฐ€์ง€ ๊ธฐ๋Šฅ์„ ๋‚ด๋ถ€์ ์œผ๋กœ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ด์ค€๋‹ค.equals()๋‚ด์šฉ์˜ ๋™์ผ์„ฑ์„ ํŒ๋‹จํ•œ๋‹ค.hashcode()ํด๋ž˜์Šค์˜ ๋‚ด์šฉ์—์„œ ๊ณ ์œ ์˜ ํ•ด์‰ฌ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•ด์ค€๋‹ค.๊ฐ์ฒด์˜ ๋‚ด์šฉ์—์„œ ๊ณ ์œ ํ•œ ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.toString()ํฌํ•จ๋œ ์†์„ฑ์„ ๋ณด๊ธฐ์‰ฝ๊ฒŒ ๋‚˜ํƒ€๋‚ธ๋‹ค.copy()๊ฐ์ฒด๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ ๋˜‘๊ฐ™์€ ๋‚ด์šฉ์˜ ์ƒˆ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ ๋‹ค.copy() ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด ์ƒˆ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ๋Š” ๋˜‘๊ฐ™์€ ๋‚ด์šฉ์˜ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ ์ƒ์„ฑ์ž์™€ ๋˜‘๊ฐ™์€ ํ˜•ํƒœ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ฃผ์–ด  ์ผ๋ถ€ ์†์„ฑ์„ ๋ณ€๊ฒฝํ•ด ์ค„ ์ˆ˜๋„ ์žˆ๋‹ค.์•„๋ฌด ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์—†์œผ๋ฉด ๋˜‘๊ฐ™์€ ๋‚ด์šฉ์œผ๋กœ ์ƒ์„ฑํ•œ๋‹ค.ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์žˆ๋‹ค๋ฉด ํ•ด๋‹น ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ต์ฒดํ•˜์—ฌ ์ƒ์„ฑํ•œ๋‹ค.componentX()์†์„ฑ์„ ์ˆœ์„œ๋Œ€๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.component1(), component2..
์ฝ”ํ‹€๋ฆฐ์ด ์ง€์›ํ•˜๋Š” ํด๋ž˜์Šค ์œ ํ˜• ์ค‘ ํด๋ž˜์Šค ์•ˆ์— ํด๋ž˜์Šค๊ฐ€ ์ค‘์ฒฉ๋˜๋Š” ์œ ํ˜•์€ ์ค‘์ฒฉ ํด๋ž˜์Šค์™€ ๋‚ด๋ถ€ ํด๋ž˜์Šค ๋‘๊ฐ€์ง€๋‹ค. ์ค‘์ฒฉ ํด๋ž˜์Šค(Nested Class)ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๊ฐ€ ๋‹ค๋ฅธ ํด๋ž˜์Šค์˜ ๊ธฐ๋Šฅ๊ณผ ๊ฐ•ํ•˜๊ฒŒ ์—ฐ๊ด€๋˜์–ด ์žˆ๋‹ค๋Š” ์˜๋ฏธ๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ํ˜•์‹์œผ๋กœ ์‚ฌ์šฉํ• ๋•Œ๋Š” "(์™ธ๋ถ€ํด๋ž˜์Šค ์ด๋ฆ„).(์ค‘์ฒฉํด๋ž˜์Šค ์ด๋ฆ„)" ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.ํ˜•ํƒœ๋งŒ ๋‚ด๋ถ€์— ์กด์žฌํ•  ๋ฟ ์‹ค์งˆ์ ์œผ๋กœ๋Š” ์™ธ๋ถ€์™€ ์ค‘์ฒฉ ํด๋ž˜์Šค ์„œ๋กœ ๋‚ด์šฉ์„ ๊ณต์œ ํ•  ์ˆ˜ ์—†๋Š” ๋ณ„๊ฐœ์˜ ํด๋ž˜์Šค๋‹ค. ๋‚ด๋ถ€ ํด๋ž˜์Šค์ค‘์ฒฉ ํด๋ž˜์Šค ๋Œ€์‹  ๋‚ด๋ถ€ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.์ค‘์ฒฉ ํด๋ž˜์Šค์— "inner"๋ผ๋Š” ํ‚ค์›Œ๋“œ๋ฅผ ๋ถ™์ด๋ฉด ๋œ๋‹ค.ํ˜ผ์ž์„œ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์—†๊ณ  ์™ธ๋ถ€ ํด๋ž˜์Šค์˜ ๊ฐ์ฒด๊ฐ€ ์žˆ์–ด์•ผ๋งŒ ์ƒ์„ฑ๊ณผ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•œ ํด๋ž˜์Šค๋‹ค.๊ทธ๋ž˜์„œ ์™ธ๋ถ€ ํด๋ž˜์Šค์˜ ์†์„ฑ๊ณผ ํ•จ์ˆ˜์˜ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์˜ˆ์ œfun main(){ Outer..
overloading๊ฐ™์€ ์Šค์ฝ”ํ”„ ์•ˆ์—์„œ ๊ฐ™์€ ์ด๋ฆ„์˜ ํ•จ์ˆ˜๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด๋‹ค.ํ•จ์ˆ˜ ์ด๋ฆ„์ด ๊ฐ™์•„๋„ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ž๋ฃŒํ˜•์ด ๋‹ค๋ฅด๊ฑฐ๋‚˜ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ๊ฐฏ์ˆ˜๊ฐ€ ๋‹ค๋ฅด๋‹ค๋ฉด ์„œ๋กœ ๋‹ค๋ฅธ ํ•จ์ˆ˜๋กœ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค.fun hello(x: Int)fun hello(x: Int, text: String)fun hello(x: Int, y: Int)ํ•˜์ง€๋งŒ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ด๋ฆ„๋งŒ ๋‹ค๋ฅด๊ณ  ์ž๋ฃŒํ˜•์ด ๊ฐ™๋‹ค๋ฉด ์˜ค๋ฒ„๋กœ๋”ฉ์„ ํ•  ์ˆ˜ ์—†๋‹ค.fun hello(x: Int, y: Int)fun hello(a: Int, b: Int)  ์˜ˆ์ œfun main(){ read(24) read("ํ™๊ธธ๋™")}fun read(x: Int){ println("์ˆซ์ž $x ์ž…๋‹ˆ๋‹ค")}fun read(x: String){ println("๋ฌธ์ž $x ..
99ํด๋Ÿฝ์ด๋ž€?์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ•ฉ๊ฒฉ๋ฅ ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ํ•จ๊ป˜ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ํ•ญํ•ด99 ์ฃผ์ตœ ์Šคํ„ฐ๋”” ์ด๋‹ค.  99ํด๋Ÿฝ ์ง„ํ–‰ ๊ณผ์ •์ž์‹ ์˜ ์ˆ˜์ค€์— ๋”ฐ๋ผ ๋น„๊ธฐ๋„ˆ, ๋ฏธ๋“ค๋Ÿฌ, ์ฑŒ๋ฆฐ์ € ๋ ˆ๋ฒจ๋กœ ๋‚˜๋‰œ๋‹ค. ๋‚˜๋Š” ํŒŒ์ด์ฌ ๋ฏธ๋“ค๋Ÿฌ๋กœ ์ฐธ๊ฐ€ํ•˜์˜€๋‹ค.๋น„๊ธฐ๋„ˆ๋Š” ๋ฐฑ์ค€ ๋ธŒ๋ก ์ฆˆ ๋˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 1๋ ˆ๋ฒจ ์ˆ˜์ค€์ด๋‹ค.๋ฏธ๋“ค๋Ÿฌ๋Š” ๋ฐฑ์ค€ ์‹ค๋ฒ„ ๋˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2๋ ˆ๋ฒจ ์ˆ˜์ค€์ด๋‹ค.์ฑŒ๋ฆฐ์ €๋Š” ๋ฐฑ์ค€ ๊ณจ๋“œ ๋˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 3๋ ˆ๋ฒจ ์ˆ˜์ค€์ด๋‹ค.๋งค์ผ ์˜ค์ „ 11์‹œ์— ๋‹จํ†ก๋ฐฉ ๋˜๋Š” ํ•™์Šต๊ณต๊ฐ„ ์‚ฌ์ดํŠธ์— ์ž์‹ ์ด ์„ ํ…ํ•œ ๋ ˆ๋ฒจ์— ๋งž๋Š” ๋ฌธ์ œ๋ฅผ ํ•˜๋‚˜์”ฉ ๋‚ด์ฃผ์—ˆ๋‹ค.๋ฌธ์ œ๋ฅผ ํ’€๊ฑฐ๋‚˜ ๋ชปํ’€์–ด๋„ ํ‘ผ ์‹œ๋„๊ฐ€ ์žˆ๋Š” ํ™”๋ฉด์„ ์บก์ณํ•ด์„œ ์ธ์ฆํ•˜๋ฉด ๊ทธ๋‚ ์˜ ์ถœ์„์ฒดํฌ๋Š” ์™„๋ฃŒ๋‹ค.TIL์„ ์˜ฌ๋ ค์„œ ๋งํฌ๋ฅผ ์˜ฌ๋ ค์„œ ์ธ์ฆํ•œ๋‹ค.TIL์€ ์„ ํƒ์ด์ง€๋งŒ ๋งค์ผ ๊พธ์ค€ํžˆ ์—ฐ์†์œผ๋กœ ์ธ์ฆํ•˜๋ฉด ๋ณด์ƒ์ด ์ฃผ์–ด์ง„๋‹ค.์›”/๋ชฉ์€ ์ •๊ธฐ์Šคํ„ฐ๋”” ๋‚ ๋กœ, ๊ฒŒ๋”ํƒ€์šด์ด๋ผ๋Š”..
null ์ƒํƒœ ํ™•์ธnull์ƒํƒœ๋กœ ์†์„ฑ์ด๋‚˜ ํ•จ์ˆ˜๋ฅผ ์“ฐ๋ ค๊ณ  ํ•˜๋ฉด null pointer exception์ด ๋ฐœ์ƒํ•œ๋‹ค.null pointer exception : null์ธ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๋ฉด ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜๊ทธ๋ž˜์„œ nullable ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ• ๋•Œ๋Š” nullํ™•์ธ ์—†์ด๋Š” ์ฝ”๋“œ๊ฐ€ ์ปดํŒŒ์ผ ๋˜์ง€ ์•Š๋Š”๋‹ค.var sample: String? = null// if๋ฌธ์œผ๋กœ nullalbe ํ™•์ธif(sample != null) println(sample.toUpperCase())null ์ฒดํฌ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด ์ผ์ผํžˆ if๋ฌธ์œผ๋กœ ์กฐ๊ฑด์„ ํ™•์ธํ•˜๋Š” ๋Œ€์‹  ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์“ธ ์ˆ˜ ์žˆ๋‹ค.?. (null safe operator)?: (elvis operator)!!. (non-null assertion operator)  ?. (null safe o..
(๋ฌธ์ž์—ด).length๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ์ •์ˆ˜ํ˜•์œผ๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค(๋ฌธ์ž์—ด).toLowercase์˜๋ฌธ ์ „์ฒด๋ฅผ ์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•œ๋‹ค(๋ฌธ์ž์—ด).toUppercase์˜๋ฌธ ์ „์ฒด๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•œ๋‹ค(๋ฌธ์ž์—ด).split("(๊ธฐ์ค€๋ฌธ์ž)")ํŠน์ • ๋ฌธ์ž์—ด์„ ๊ธฐ์ค€์œผ๋กœ ๋ฌธ์ž๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ๋กœ ๋‚˜๋ˆ„์–ด ๋ฐฐ์—ด์— ๋‹ด์€ ํ›„ ๋ฐ˜ํ™˜ํ•œ๋‹ค์ด๋•Œ ๊ธฐ์ค€ ๋ฌธ์ž๋ฅผ delimiter๋ผ๊ณ ๋ถ€๋ฅธ๋‹ค.์ž๋ฐ”์™€ ๋‹ฌ๋ฆฌ split์— ์ •๊ทœ์‹์ด ์•„๋‹Œ ์ผ๋ฐ˜ ๋ฌธ์ž์—ด์„ ๋„ฃ์–ด๋„ ๋™์ž‘ํ•œ๋‹ค.(๋ฌธ์ž์—ด ๋ฐฐ์—ด).joinToString()๋ฌธ์ž์—ด์ด ๋“ค์–ด๊ฐ€ ์žˆ๋Š” ๋ฐฐ์—ด์„ ๋‹ค์‹œ ํ•˜๋‚˜๋กœ ํ•ฉ์นœ๋‹ค.๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์•„๋ฌด๊ฒƒ๋„ ๋„ฃ์ง€ ์•Š์œผ๋ฉด ๊ทธ๋ƒฅ ํ•ฉ์ณ์ง€๊ณ , ๋ฌธ์ž์—ด์„ ๋„ฃ์œผ๋ฉด ๊ทธ ๋ฌธ์ž์—ด์„ ์‚ฌ์ด์— ๋„ฃ์–ด์ค€๋‹ค.(๋ฌธ์ž์—ด).substring((์‹œ์ž‘)..(๋))๋ฌธ์ž์—ด ์ค‘ ์ผ๋ถ€๋งŒ ๊ฐ€์ ธ์˜ดfor๋ฌธ์—์„œ ์‚ฌ์šฉํ–ˆ๋˜ InRange ํ˜•์‹์„ ์‚ฌ์šฉ..
์ œ๋„ˆ๋ฆญ์ด ํ•„์š”ํ•œ ์ด์œ ํด๋ž˜์Šค A์™€ ์ด๋ฅผ ์ƒ์†๋ฐ›์€ ํด๋ž˜์Šค B๊ฐ€ ์žˆ๋‹ค.๋‘ ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ณต์šฉ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ํ•˜๋‚˜์˜ ํ•จ์ˆ˜์— ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋ฐ›์œผ๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ?์Šˆํผํด๋ž˜์Šค์˜ ์ž๋ฃŒํ˜•์ธ A์˜ ์ž๋ฃŒํ˜•์œผ๋กœ ๋ฐ›์œผ๋ฉด B๋Š” ์ž๋™์œผ๋กœ A๋กœ ์บ์ŠคํŒ… ๋œ๋‹ค. โžก๏ธ ๋‘ ํด๋ž˜์Šค ๋ชจ๋‘ ํ•จ์ˆ˜์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค.ํ•˜์ง€๋งŒ ์บ์ŠคํŒ… ์—ฐ์‚ฐ์„ ๊ฑฐ์น˜๋Š”๊ฒƒ์€ ํ”„๋กœ๊ทธ๋žจ์˜ ์†๋„๋ฅผ ์ €ํ•˜์‹œํ‚จ๋‹ค. ์ด๋ฅผ ์ œ๋„ˆ๋ฆญ์ด ๋ณด์™„ํ•ด ์ค„ ์ˆ˜ ์žˆ๋‹ค.fun castingExam(var a: A) // B๋ฅผ ๋„ฃ์–ด๋„ A๋กœ ์บ์ŠคํŒ…๋œ๋‹ค.  ์ œ๋„ˆ๋ฆญํด๋ž˜์Šค๋‚˜ ํ•จ์ˆ˜์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฃŒํ˜•์„ ์™ธ๋ถ€์—์„œ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด๋‹ค.ํ•จ์ˆ˜๋‚˜ ํด๋ž˜์Šค๋ฅผ ์„ ์–ธํ•  ๋•Œ ๊ณ ์ •์ ์ธ ์ž๋ฃŒํ˜• ๋Œ€์‹  ์‹ค์ œ ์ž๋ฃŒํ˜•์œผ๋กœ ๋Œ€์ฒด๋˜๋Š” ํƒ€์ž… ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋ฐ›์•„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.ํƒ€์ž… ํŒŒ๋ผ๋ฏธํ„ฐ์— ํŠน์ • ์ž๋ฃŒํ˜•์ด ํ• ๋‹น๋˜๋ฉด ์ œ๋„ˆ๋ฆญ์„ ์‚ฌ์šฉํ•˜๋Š” ..
๋น„์œ ๋ฅผ ํ†ตํ•œ ๋‹คํ˜•์„ฑ์˜ ๊ฐœ๋…์Œ๋ฃŒ์—๋Š” ์—ฌ๋Ÿฌ ์ข…๋ฅ˜๊ฐ€ ์žˆ๋‹ค. ์ฝœ๋ผ, ์ฃผ์Šค, ์ปคํ”ผ ๋“ฑ..์ด ์ค‘ ์ฝœ๋ผ๋ฅผ ๊ณ ๋ฅผ ๋•Œ ์ฝœ๋ผ๋ฅผ ์ฝœ๋ผ ์ž์ฒด๋กœ๋„ ๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ, ์Œ๋ฃŒ๋ผ๋Š” ํŠน์„ฑ์œผ๋กœ๋„ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“œ๋Š”๊ฒƒ์ด ๋‹คํ˜•์„ฑ์˜ ๊ฐœ๋…์ด๋‹ค. ์ฝ”ํ‹€๋ฆฐ์˜ ๋‚ด๋ถ€ ๋™์ž‘์Œ๋ฃŒ๋ผ๋Š” ์Šˆํผํด๋ž˜์Šค์™€ ์ด๋ฅผ ์ƒ์†๋ฐ›๋Š” ์ฝœ๋ผ๋ผ๋Š” ์„œ๋ธŒ ํด๋ž˜์Šค๊ฐ€ ์žˆ๋‹ค์ฝœ๋ผ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค๋•Œ ์Šˆํผํด๋ž˜์Šค์˜ ๊ณต๊ฐ„์— ์Œ๋ฃŒ์˜ ๋‚ด์šฉ์„ ๋‹ด๋Š” ๊ฐ์ฒด๊ณต๊ฐ„์— ์ฝœ๋ผ์˜ ๋‚ด์šฉ์„ ๋‹ด๋Š” ์ถ”๊ฐ€ ๊ณต๊ฐ„์ด ์ƒ์„ฑ๋œ๋‹ค.์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด์ง„ ์ฝœ๋ผ์˜ ์ธ์Šคํ„ด์Šค๋Š” ์Œ๋ฃŒ์˜ ๊ณต๊ฐ„์„ ๋‹ด๋Š” ๋ณ€์ˆ˜์— ์ €์žฅํ•˜๋ฉด ์Œ๋ฃŒ์˜ ๊ธฐ๋Šฅ๋งŒ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๊ณ , ์ฝœ๋ผ์˜ ๊ธฐ๋Šฅ์„ ๋‹ด๋Š” ๋ณ€์ˆ˜์— ์ €์žฅํ•˜๋ฉด ์ฝœ๋ผ์˜ ๊ธฐ๋Šฅ๊นŒ์ง€ ๋ชจ๋‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.var a: Drink = Cola() // ์—…์บ์ŠคํŒ…. ์Œ๋ฃŒ์˜ ๊ธฐ๋Šฅ๋งŒ ์‚ฌ์šฉ. ์ฝœ๋ผ์˜ ์ถ”๊ฐ€๊ณต๊ฐ„์€ ์‚ฌ์šฉ ๋ถˆ๊ฐ€var b: Cola = Cola()..
๋งˆ์ง€๋ง‰ ๊ด€๋ฌธ์ธ ์ธํ„ฐ๋ทฐ์—์„œ ํƒˆ๋ฝํ•ด์„œ ๋„ˆ๋ฌด ์•„์‰ฝ์ง€๋งŒ, ๊ทธ๋ž˜๋„ ์ค€๋น„๊ณผ์ •์—์„œ ์–ป์–ด๊ฐ„๊ฒƒ๋“ค๋„ ๋งŽ์•˜๊ธฐ์— ์ด๋ฅผ ๊ธฐ๋กํ•˜๊ณ ์ž ๊ธ€์„ ์”๋‹ˆ๋‹ค.๊ทธ๋ฆฌ๊ณ  ์—์„ธ์ด, ์ฝ”๋”ฉํ…Œ์ŠคํŠธ, ๋ฉด์ ‘์„ ์ค€๋น„ํ•˜๋ฉฐ ํ›„๊ธฐ๋“ค์˜ ๋„์›€์„ ๋งŽ์ด ๋ฐ›์•˜๊ธฐ์— ์ €์˜ ์ด ๊ธ€ ๋˜ํ•œ ๋„์›€์ด ๋˜์—ˆ์œผ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค   ์‹ธํ”ผ๋ž€?์‚ผ์„ฑ ์ฒญ๋…„ SW ์•„์นด๋ฐ๋ฏธ(SSAFY)๋Š” ์‚ผ์„ฑ์˜ SW๊ต์œก ๊ฒฝํ—˜๊ณผ ๊ณ ์šฉ๋…ธ๋™๋ถ€์˜ ์ทจ์—…์ง€์› ๋…ธํ•˜์šฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ทจ์—…์ค€๋น„์ƒ์—๊ฒŒ SW ์—ญ๋Ÿ‰ ํ–ฅ์ƒ ๊ต์œก ๋ฐ ๋‹ค์–‘ํ•œ ์ทจ์—…์ง€์› ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์ทจ์—…์— ์„ฑ๊ณตํ•˜๋„๋ก ๋•๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ์—์„ธ์ด ๊ณผ์ •์ „๊ณต์ž ์œ ํ˜•์œผ๋กœ ์ง€์›ํ•˜์˜€๊ณ , ์—์„ธ์ด ์ด ์งˆ๋ฌธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค."ํ–ฅํ›„ ์–ด๋–ค SW ๊ฐœ๋ฐœ์ž๋กœ ์„ฑ์žฅํ•˜๊ณ  ์‹ถ์€์ง€ SW๊ด€๋ จ ๊ฒฝํ—˜์„ ํ† ๋Œ€๋กœ ๊ธฐ์ˆ ํ•˜๊ณ , ์‹ธํ”ผ ์ง€์› ๋™๊ธฐ ์ž‘์„ฑ ๋ฐ”๋ž๋‹ˆ๋‹ค."์ด๋ฅผ ๊ณต๋ฐฑํฌํ•จ 500์ž ๋‚ด์™ธ ์ตœ๋Œ€ 600์ž ๋‚ด๋กœ ์“ฐ๋ฉด ๋œ๋‹ค. ์–ด๋–ค ๊ฐœ๋ฐœ..
๋ฌธ์ œ๋ฆฟ์ฝ”๋“œ 1338. Reduce Array Size To The Halfhttps://leetcode.com/problems/reduce-array-size-to-the-half/description/ ์ฝ”๋“œclass Solution(object): def minSetSize(self, arr): answer = 0 count_num = {} for num in arr: if num not in count_num.keys(): count_num[num] = 1 else: count_num[num] += 1 values = sorted(list(..
์˜ค๋ธŒ์ ํŠธ์ƒ์„ฑ์ž ์—†์ด ์ง์ ‘ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด๋‚ธ๋‹ค.์˜ค๋ธŒ์ ํŠธ ๊ทธ ์ž์ฒด๊ฐ€ ๊ฐ์ฒด๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ƒ์„ฑ์ž๊ฐ€ ํ•„์š” ์—†๋‹ค.ํด๋ž˜์Šค๋Š” ๋‚ด๋ถ€์— ์žˆ๋Š” ์†์„ฑ์ด๋‚˜ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ƒ์„ฑ์ž๋ฅผ ํ†ตํ•ด ์‹ค์ฒด๊ฐ€ ๋˜๋Š” ์ธ์Šคํ„ด์Šค ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด์•ผํ•œ๋‹ค.ํ•˜์ง€๋งŒ ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ธ์Šคํ„ด์Šค ๊ฐ์ฒด๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š๊ณ  ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋งŒ์œผ๋กœ ๊ณตํ†ต์ ์ธ ์†์„ฑ๊ณผ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š” ์ฝ”๋“œ์—์„œ๋Š” ํด๋ž˜์Šค๋ฅผ ์“ธ ํ•„์š” ์—†์ด ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.์‹ฑ๊ธ€ํ†ค ํŒจํ„ด์„ ์–ธ์–ด์ฐจ์›์—์„œ ์ง€์›ํ•˜๋Š”๊ฒƒ์ด๋‹ค.์‹ฑ๊ธ€ํ†ค ํŒจํ„ด : ํด๋ž˜์Šค์˜ ๊ฐ์ฒด๋ฅผ ๋‹จ ํ•˜๋‚˜๋งŒ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜๋Š” ๋””์ž์ธ ํŒจํ„ด  ์˜ค๋ธŒ์ ํŠธ ์˜ˆ์ œ์•„๋ฌด๊ณณ์—๋‚˜ ํ˜ธ์ถœํ•˜์—ฌ ํ˜ธ์ถœํ•œ ํšŸ์ˆ˜๋ฅผ ์„ธ๊ฑฐ๋‚˜ ์ดˆ๊ธฐํ™” ํ•  ์ˆ˜ ์žˆ๋Š” Counter๋ผ๋Š” ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๋งŒ๋“ค์–ด๋ณด์ž.์˜ค๋ธŒ์ ํŠธ๋Š” ๋ณ„๋„์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋ธŒ์ ํŠธ ์ด๋ฆ„์— ์ง์ ‘ ์ฐธ์กฐ์—ฐ์‚ฐ์ž๋ฅผ ๋ถ™์—ฌ์„œ ์‚ฌ์šฉํ•œ๋‹ค.fu..