๋ชฉ๋กAlgorithm (101)

Hello Ocean! ๐ŸŒผ

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ์ •๋ ฌ(์‚ฝ์ž…, ๋ฒ„๋ธ”, ํ€ต)

์ •๋ ฌ (Sort) n๊ฐœ์˜ ์ˆซ์ž๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด๋ฅผ ํŠน์ •ํ•œ ๊ธฐ์ค€(์˜ค๋ฆ„์ฐจ์ˆœ, ๋‚ด๋ฆผ์ฐจ์ˆœ ๋“ฑ)์— ๋งž๊ฒŒ ์ •๋ ฌํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋งค์šฐ ๋‹ค์–‘ํ•œ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์กด์žฌํ•˜๊ณ , ๊ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋งˆ๋‹ค ์ˆ˜ํ–‰์‹œ๊ฐ„์ด ๋‹ค๋ฅด๋‹ค. ์‚ฝ์ž…์ •๋ ฌ k๋ฒˆ์งธ ์›์†Œ๋ฅผ 1๋ถ€ํ„ฐ k-1๊นŒ์ง€์˜ ์ˆซ์ž์™€ ๋น„๊ตํ•ด ์ ์ ˆํ•œ ์œ„์น˜์— ๋ผ์›Œ ๋„ฃ๊ณ , ๊ทธ ๋’ค์˜ ์ž๋ฃŒ๋ฅผ ํ•œ ์นธ์”ฉ ๋’ค๋กœ ๋ฐ€์–ด๋‚ด๋Š” ๋ฐฉ์‹. ์ž๋ฃŒ๊ตฌ์กฐ์— ๋”ฐ๋ผ์„œ ๋’ค๋กœ ๋ฐ€์–ด๋‚ด๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ํด ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ญ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜์–ด์žˆ์„ ๊ฒฝ์šฐ์— ๋งค์šฐ ์˜ค๋ž˜๊ฑธ๋ฆฐ๋‹ค. ๋ฐ˜๋ฉด์— ์ด๋ฏธ ์ •๋ ฌ๋˜์–ด ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์— ์ž๋ฃŒ๋ฅผ ํ•˜๋‚˜์”ฉ ์‚ฝ์ž…/์‚ญ์ œํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์ตœ๊ณ ์˜ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋œ๋‹ค. ๊ตฌํ˜„์ด ๋งค์šฐ ์‰ฝ๋‹ค. ์ด๋ฏธ์ง€ ์ถœ์ฒ˜ - ๋‚˜๋ฌด์œ„ํ‚ค ์ด์ง„ ์‚ฝ์ž… ์ •๋ ฌ ์ด์ง„ ํƒ์ƒ‰์„ ํ™œ์šฉํ•ด์„œ ์ƒˆ๋กœ์šด ์›์†Œ๊ฐ€ ์œ„์น˜ํ•  ๊ณณ์„ ๋ฏธ๋ฆฌ ์ฐพ์•„์„œ ์ •๋ ฌํ•˜๋Š” ๋ฐฉ์‹ ์›์†Œ ํฌ๊ธฐ ๋น„๊ตํ•˜๋Š” ๋ถ€๋ถ„์„..

Algorithm 2020. 8. 17. 18:40
[์Šคํ„ฐ๋””] ๋น„ํŠธ์กฐ์ž‘ , ์™„์ „ํƒ์ƒ‰

๋น„ํŠธ ์กฐ์ž‘ ๋น„ํŠธ ์—ฐ์‚ฐ์ž AND ๋‘˜ ๋‹ค 1์ด๋ฉด 1, ๋‘˜ ์ค‘ ํ•˜๋‚˜๋ผ๋„ 0์ด๋ฉด 0์ด๋‹ค. 1010 AND 1110 = 1010 ์—ฐ์‚ฐ์ž : & OR ๋‘˜ ์ค‘ ํ•˜๋‚˜๋ผ๋„ 1์ด๋ฉด 1, ๋‘˜๋‹ค 0์ด๋ฉด 0์ด๋‹ค. 1010 OR 1110 = 1110 ์—ฐ์‚ฐ์ž : | NOT ๋ชจ๋“  bit๊ฐ’์„ ๋ฐ˜๋Œ€๋กœ ๋ฐ”๊พผ๋‹ค NOT ( 1010 ) = 0101 ์—ฐ์‚ฐ์ž : ~ XOR ๊ฐ’์ด ๊ฐ™์œผ๋ฉด 0, ๋‹ค๋ฅด๋ฉด 1์ด๋‹ค. 1010 XOR 1110 = 0100 ์—ฐ์‚ฐ์ž : ^ ๋น„ํŠธ ์‹œํ”„ํŠธ ์‚ฐ์ˆ  ์šฐ์ธก ์‹œํ”„ํŠธ ๊ฐ’์„ 2๋กœ ๋‚˜๋ˆˆ ๊ฒƒ๊ณผ ๊ฐ™๋‹ค. ์—ฐ์‚ฐ์ž : >> ๋ถ€ํ˜ธ ๋น„ํŠธ๋Š” ๋ฐ”๋€Œ์ง€ ์•Š์Œ. ๋…ผ๋ฆฌ ์šฐ์ธก ์‹œํ”„ํŠธ ์ผ๋ฐ˜์ ์œผ๋กœ ๋น„ํŠธ๋ฅผ ์˜ฎ๊ธธ ๋•Œ ์ฒ˜๋Ÿผ ๋™์ž‘ํ•œ๋‹ค. ์—ฐ์‚ฐ์ž : >>> ๋น„ํŠธ๋ฅผ ์šฐ์ธก์œผ๋กœ์˜ฎ๊ธด ํ›„์—, ์ตœ์ƒ์œ„ ๋น„ํŠธ์— 0์„ ๋„ฃ๋Š”๋‹ค. ์ถ”๊ฐ€ ์ •๋ณด 0s : ๋ชจ๋“  bit๊ฐ€ 0 1s : ๋ชจ๋“  bi..

Algorithm 2020. 8. 3. 16:35
[์•Œ๊ณ ๋ฆฌ์ฆ˜ ์Šคํ„ฐ๋””] ์ž๋ฃŒ๊ตฌ์กฐ_2

1.ํŠธ๋ฆฌ, ๊ทธ๋ž˜ํ”„ ๋น„์„ ํ˜• ๊ตฌ์กฐ ์„ ํ˜•๊ตฌ์กฐ๋Š” ์ž๋ฃŒ๋ฅผ ์ €์žฅํ•˜๊ณ  ๊บผ๋‚ด๋Š” ๊ฒƒ์— ์ดˆ์ ์ด ๋งž์ถฐ์ ธ ์žˆ๊ณ , ๋น„์„ ํ˜•๊ตฌ์กฐ๋Š” ํ‘œํ˜„์— ์ดˆ์ ์ด ๋งž์ถฐ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠธ๋ฆฌ ํŠธ๋ฆฌ์˜ ๊ตฌ์„ฑ ์š”์†Œ Root Node : ํŠธ๋ฆฌ ๊ตฌ์กฐ์—์„œ ์ตœ์ƒ์œ„์— ์กด์žฌํ•˜๋Š” ๋…ธ๋“œ (A) Node : ํŠธ๋ฆฌ์˜ ๊ตฌ์„ฑ์š”์†Œ์— ํ•ด๋‹นํ•˜๋Š” ์š”์†Œ (A,B,C,D,E,F,G) Edge : ๋…ธ๋“œ์™€ ๋…ธ๋“œ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์„  Terminal Node(Leaf Node) : ํŠธ๋ฆฌ์˜ ๋งจ ๋ฐ‘์— ์žˆ๋Š” ์ž์‹์„ ๊ฐ€์ง€์ง€ ์•Š๋Š” ๋…ธ๋“œ Sub-Tree : ์ „์ฒด ํŠธ๋ฆฌ์— ์†ํ•˜๋Š” ์ž‘์€ ํŠธ๋ฆฌ Level : ํŠธ๋ฆฌ์—์„œ ๊ฐ ์ธต๋ณ„๋กœ ์ˆซ์ž๋ฅผ ๋งค๊น€ (root node = level 0) Height : ํŠธ๋ฆฌ์˜ ์ตœ๊ณ  ๋ ˆ๋ฒจ ํŠธ๋ฆฌ์˜ ์ข…๋ฅ˜ ์ด์ง„ํŠธ๋ฆฌ (binary tree) ์–ด๋–ค ํ•œ ๋…ธ๋“œ๊ฐ€ 2๊ฐœ ์ดํ•˜์˜ ์ž์‹๋งŒ์„ ๊ฐ€์ง€๋Š” ํŠธ๋ฆฌ ํฌํ™”์ด์ง„ํŠธ๋ฆฌ ..

Algorithm 2020. 7. 28. 19:43
[์•Œ๊ณ ๋ฆฌ์ฆ˜ ์Šคํ„ฐ๋””] ์ž๋ฃŒ๊ตฌ์กฐ_1

๋ฐฐ์—ด ์ •์ ๋ฐฐ์—ด ์šฐ๋ฆฌ๊ฐ€ ์ƒ๊ฐํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ ๋ฐฐ์—ด. ํฌ๊ธฐ๊ฐ€ ๊ณ ์ •๋˜์–ด ์žˆ๋‹ค. ๋™์ ๋ฐฐ์—ด (vector) ์ค‘๊ฐ„์— ๊ฐ’์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค. https://blockdmask.tistory.com/70 ์ด ๋งํฌ์—์„œ ๋ฐฐ์—ด์˜ ์‚ฌ์šฉ๋ฒ•์„ ์ž์„ธํ•˜๊ฒŒ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋‹ค. ๋ฌธ์ž์—ด ๋ฐฐ์—ด ์—ฌ๋Ÿฌ ๊ธ€์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž ๊ทธ๋ฃน์„ ํ•˜๋‚˜์˜ ์ž๋ฃŒ๋กœ ์ทจ๊ธ‰ํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ์— ์—ฐ์†์ ์œผ๋กœ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ ํ˜•์‹. https://blockdmask.tistory.com/338 ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ์—ฐ๊ฒฐ ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ์ˆœ์ฐจ ์ž๋ฃŒ๊ตฌ์กฐ (ex๋ฐฐ์—ด)๊ณผ ๋‹ฌ๋ฆฌ ์›์†Œ์˜ ๋…ผ๋ฆฌ์ ์ธ ์ˆœ์„œ์™€ ๋ฌผ๋ฆฌ์ ์ธ ์ˆœ์„œ๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค. ์—ฐ์†ํ•œ ๋ฌผ๋ฆฌ์ฃผ์†Œ์— ์˜ํ•ด ์›์†Œ ์ˆœ์„œ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๊ฐ ์›์†Œ์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๋‹ค์Œ ์›์†Œ์˜ ์ฃผ์†Œ(๋งํฌ)์— ์˜ํ•ด ์ˆœ์„œ๊ฐ€ ์—ฐ๊ฒฐ๋˜๋Š” ๊ตฌํ˜„ ๋ฐฉ์‹์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋…ธ๋“œ ๋‹จ..

Algorithm 2020. 7. 20. 20:05
[์•Œ๊ณ ์ŠคํŒŸ] ์–‘์žํ™” #Quantize, ์ฑ… 8.9์ ˆ

๋ฌธ์ œ https://www.algospot.com/judge/problem/read/QUANTIZE algospot.com :: QUANTIZE Quantization ๋ฌธ์ œ ์ •๋ณด ๋ฌธ์ œ Quantization (์–‘์žํ™”) ๊ณผ์ •์€, ๋” ๋„“์€ ๋ฒ”์œ„๋ฅผ ๊ฐ–๋Š” ๊ฐ’๋“ค์„ ์ž‘์€ ๋ฒ”์œ„๋ฅผ ๊ฐ–๋Š” ๊ฐ’๋“ค๋กœ ๊ทผ์‚ฌํ•ด ํ‘œํ˜„ํ•จ์œผ๋กœ์จ ์ž๋ฃŒ๋ฅผ ์†์‹ค ์••์ถ•ํ•˜๋Š” ๊ณผ์ •์„ ๋งํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 16๋น„ํŠธ JPG ํŒŒ์ผ์„ 4์ปฌ๋Ÿฌ GIF ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์€ RGB ์ƒ‰ ๊ณต๊ฐ„์˜ ์ƒ‰๋“ค์„ 4์ปฌ๋Ÿฌ ์ค‘์˜ ํ•˜๋‚˜๋กœ ์–‘์žํ™”ํ•˜๋Š” ๊ฒƒ์ด๊ณ , ํ‚ค๊ฐ€ 161, 164, 170, 178 ์ธ ํ•™์ƒ ๋„ท์„ '160๋Œ€ ๋‘˜, 170๋Œ€ ๋‘˜' ์ด๋ผ๊ณ  ์ถ•์•ฝํ•ด ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ ๋˜ํ•œ ์–‘์žํ™”๋ผ๊ณ  ํ•  www.algospot.com ์š”์•ฝํ•˜์ž๋ฉด ์ฃผ์–ด์ง„ ์ˆ˜์—ด์„ s๊ฐœ์˜ ์ˆซ์ž๋กœ ์–‘์žํ™” ํ•  ๋•Œ, ๊ฐ ์ˆซ์ž๋ณ„ ์˜ค์ฐจ์ œ๊ณฑ์˜ ํ•ฉ..

Algorithm 2020. 5. 11. 18:50