user-img
์•Œ๊ณ ๋ฆฌ์ฆ˜/์•Œ๊ณ ๋ฆฌ์ฆ˜-์ด๋ก  22
thumbnail
[์ž๋ฃŒ๊ตฌ์กฐ] ๊ทธ๋ž˜ํ”„๋ฅผ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ๋‚˜ํƒ€๋‚ด๋ณด์ž!
(0) ๊ทธ๋ž˜ํ”„๋ž€?a. ์ •์˜๊ฐ’์„ ๋‹ด๊ณ  ์žˆ๋Š” ์ •์ (Vertex)์™€ ๊ทธ ์ •์ ๋“ค์„ ์ž‡๋Š” ๊ฐ„์„ (Edge)์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐb. ๊ทธ๋ž˜ํ”„ ๊ด€๋ จ ์šฉ์–ด์šฉ์–ด๋œป์ •์ (Vertex or Node)๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ณณ๊ฐ„์„ (Edge)์ •์ ๊ณผ ์ •์ ์„ ์ž‡๋Š” ์„ ์ธ์ ‘ํ•˜๋‹ค.์ •์  A์™€ B๊ฐ€ ๊ฐ„์„ ์œผ๋กœ ์ด์–ด์ ธ ์žˆ์œผ๋ฉด, ์ •์  A์™€ B๋Š” ์„œ๋กœ ์ธ์ ‘ํ•˜๋‹ค.๋ผ๊ณ  ํ•œ๋‹ค. ์ธ์ ‘ ์ •์ : ํ•˜๋‚˜์˜ ์ •์  A์™€ ๊ฐ„์„ ์œผ๋กœ ์ด์–ด์ ธ ์žˆ๋Š” ์ •์ ๋“ค์„ ์ธ์ ‘์ •์ ์ด๋ผ๊ณ  ํ•œ๋‹ค. ์œ„์˜ ์˜ˆ์‹œ์—์„œ B๋Š” A์˜ ์ธ์ ‘์ •์ ์ด๋‹ค.์ฐจ์ˆ˜ํ•˜๋‚˜์˜ ์ •์  A์™€ ์—ฐ๊ฒฐ๋œ ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜์ด๋‹ค. a์˜ ์˜ˆ์‹œ์—์„œ ์ •์ 2์˜ ์ฐจ์ˆ˜๋Š” 3์ด๊ณ  ์ •์ 4์˜ ์ฐจ์ˆ˜๋Š” 4์ด๋‹ค. ์ง„์ž… ์ฐจ์ˆ˜: ๋ฐฉํ–ฅ์ด ์žˆ๋Š” ๊ทธ๋ž˜ํ”„์—์„œ ์™ธ๋ถ€๋กœ๋ถ€ํ„ฐ ๋“ค์–ด์˜ค๋Š” ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋งํ•œ๋‹ค. ์ง„์ถœ ์ฐจ์ˆ˜: ๋ฐฉํ–ฅ์ด ์žˆ๋Š” ๊ทธ๋ž˜ํ”„์—์„œ ์™ธ๋ถ€๋กœ ๋ป—์–ด๋‚˜๊ฐ€๋Š” ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋งํ•œ๋‹ค...
2024.07.12
์•Œ๊ณ ๋ฆฌ์ฆ˜/์•Œ๊ณ ๋ฆฌ์ฆ˜-์ด๋ก 
thumbnail
DFS์™€ BFS
[toc]1. DFS(๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰)(1) ์ •์˜๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰ ๊ธฐ๋ฒ• ์ค‘ ํ•˜๋‚˜์ด๋‹ค.DFS๋Š” ์‹œ์ž‘ ์ •์ ์—์„œ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋ถ„๊ธฐ๋“ค ์ค‘ ํ•˜๋‚˜๋ฅผ ํƒํ•˜์—ฌ, ํ•ด๋‹น ๋ถ„๊ธฐ์—์„œ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๊นŠ์ด๊นŒ์ง€ ํƒ์ƒ‰ํ•œ ํ›„, ๋‹ค์Œ ๋ถ„๊ธฐ๋กœ ๋„˜์–ด๊ฐ€์„œ ๊ฐ™์€ ์ž‘์—…์„ ๋ฐ˜๋ณตํ•˜๋Š” ์™„์ „ ํƒ์ƒ‰ ๊ธฐ๋ฒ•์ด๋‹ค.ํ•ด๋‹น Tree ๊ตฌ์กฐ๋ฅผ DFS๋กœ ์ˆœํšŒํ•˜๋ฉด, 1->2->3->4->5->6->7->8->9->10->11->12->13 ์ˆœ์œผ๋กœ ์กฐํšŒํ•œ๋‹ค.(2) ์‹œ๊ฐ„ ๋ณต์žก๋„O(V+E)V: ์ •์ , E: ๊ฐ„์„ (3) ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์žฌ๊ท€๋ฅผ ์ด์šฉํ•ด ๊ตฌํ˜„ํ•œ๋‹ค. (์žฌ๊ท€๊ฐ€ ๊ฐ€์ง€๋Š” stack์˜ ์„ฑ์งˆ ์ด์šฉ)๋ฐฉ๋ฌธ๋ฐฐ์—ด์„ ํ™œ์šฉํ•˜์—ฌ, ํ•œ ๋ฒˆ ๋ฐฉ๋ฌธํ•œ ๋…ธ๋“œ๋Š” ์žฌ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ์ด๋‹ค.์‚ฌ์ „์„ธํŒ…: ๋ฐฉ๋ฌธ ๋ฐฐ์—ด ๋งŒ๋“ค๊ธฐ, ๊ทธ๋ž˜ํ”„๋ฅผ ์ธ์ ‘ํ–‰๋ ฌ ํ˜น์€ ์ธ์ ‘ ๋ฆฌ์ŠคํŠธ๋กœ ํ‘œํ˜„์žฌ๊ท€ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด DFS ๊ตฌํ˜„public st..
2024.07.11
์•Œ๊ณ ๋ฆฌ์ฆ˜/์•Œ๊ณ ๋ฆฌ์ฆ˜-์ด๋ก 
thumbnail
์†Œ์ˆ˜ ํŒ๋ณ„๋ฒ• (๋‚ฑ๊ฐœ์˜ ์ˆซ์ž์— ๋Œ€ํ•˜์—ฌ, ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด) Java
1. ํ•˜๋‚˜์˜ ์ˆซ์ž์— ๋Œ€ํ•œ ์†Œ์ˆ˜ ํŒ๋ณ„(1) ๋ฐฉ๋ฒ•ํŒ๋ณ„ํ•ด์•ผํ•  ์ˆซ์ž๋ฅผ N์ด๋ผ๊ณ  ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ N์ด ์†Œ์ˆ˜์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ํŒ๋ณ„ํ•  ์ˆ˜ ์žˆ๋‹ค.int N = Integer.parseInt(br.readLine());for(int i = 2; i(2) ์™œ √N๊นŒ์ง€๋งŒ ํ™•์ธํ•˜๋ฉด ๋˜๋‚˜์š”?์˜ˆ๋ฅผ ๋“ค์–ด์„œ ์„ค๋ช…ํ•ด๋ณด๊ฒ ๋‹ค. N == 64๋ผ๋ฉด,√N์€ 8์ด๋‹ค.ab = 64๋ผ๋ฉด  √N ์€ 8*8 ์ฒ˜๋Ÿผ a์™€ b๊ฐ€ ๊ฐ™์€ ์ˆ˜์ด๋‹ค.๋งŒ์•ฝ a ๋”ฐ๋ผ์„œ a √N ์ด ๋˜๋ฉด ๋ฐ˜์ž๋™์ ์œผ๋กœ b > √N ์ด ๋œ๋‹ค.๋”ฐ๋ผ์„œ ๋งŒ์•ฝ์— ํŠน์ • ์ˆ˜ N์— ๋Œ€ํ•˜์—ฌ 2 ~ √N๊นŒ์ง€์˜ ์ˆ˜ ์ค‘์— ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ์ˆ˜๊ฐ€ ์—†๋‹ค๋ฉด, √N๋ณด๋‹ค ํฐ ์ˆ˜ ์ค‘์—์„œ๋„ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ, ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ์ˆซ์ž๊ฐ€ ์—†๋‹ค๋Š” ๋ง์ด๋‹ค.์™œ๋ƒํ•˜๋ฉด 2 ~ √N์˜ ์ˆ˜ ์ค‘ N์„ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ, ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” a๋ž€ ์ˆ˜๊ฐ€ ..
2024.07.11
์•Œ๊ณ ๋ฆฌ์ฆ˜/์•Œ๊ณ ๋ฆฌ์ฆ˜-์ด๋ก 
thumbnail
๐Ÿ–ค ์‹œ๊ฐ„ ๋ณต์žก๋„์˜ ๊ฐœ๋…๊ณผ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ์—์„œ์˜ ํ™œ์šฉ๋ฒ•
1. ์‹œ๊ฐ„ ๋ณต์žก๋„ ๋ž€?(1) ๊ฐœ๋…์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” ์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์—ฐ์‚ฐ ํšŸ์ˆ˜๋ฅผ ๋งํ•œ๋‹ค.(2) ํ‘œ๊ธฐ ๋ฐฉ๋ฒ•์˜ ์ข…๋ฅ˜์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ํ‘œ๊ธฐํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ๋‹ค์Œ์˜ 3 ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.์ด๋ฆ„์„ค๋ช…๋น…-์˜ค๋ฉ”๊ฐ€ ํ‘œ๊ธฐ๋ฒ•๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด ์ฃผ์–ด์ง„ ์ƒํ™ฉ์ด ์ตœ์„ ์˜ ์ƒํ™ฉ์ผ ๋•Œ ํ•„์š”ํ•œ ์—ฐ์‚ฐ ํšŸ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ํ‘œ๊ธฐ๋ฒ•๋น…-์„ธํƒ€ ํ‘œ๊ธฐ๋ฒ•๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด ์ฃผ์–ด์ง„ ์ƒํ™ฉ์ด ๋ณดํ†ต์˜ ์ƒํ™ฉ์ผ ๋•Œ ํ•„์š”ํ•œ ์—ฐ์‚ฐ ํšŸ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ํ‘œ๊ธฐ๋ฒ•๋น…-์˜ค ํ‘œ๊ธฐ๋ฒ•๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด ์ฃผ์–ด์ง„ ์ƒํ™ฉ์ด ์ตœ์•…์˜ ์ƒํ™ฉ์ผ ๋•Œ ํ•„์š”ํ•œ ์—ฐ์‚ฐ ํšŸ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ํ‘œ๊ธฐ๋ฒ•์˜ˆ๋ฅผ ๋“ค์–ด ์„ค๋ช…1~100์˜ ์ˆซ์ž๊ฐ€ ๋žœ๋คํ•œ ์ˆœ์„œ๋กœ ์ €์žฅ๋œ ๋ฐฐ์—ด์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ํ•ด๋‹น ๋ฐฐ์—ด์—์„œ 56์˜ INDEX๋ฅผ ์ฐพ์•„์„œ ์ถœ๋ ฅํ•˜๋ผ ๋ผ๋Š” ๋ฌธ์ œ๋ฅผ ํ’€์–ด์•ผ ํ•œ๋‹ค๊ณ  ํ•˜์ž.์ด๋•Œ ๋‚ด๊ฐ€ ์„ ํƒํ•œ ๋ฐฉ๋ฒ•์€ ๋ฐฐ์—ด์˜ ์ฒซ ๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ์ผ์ผํžˆ ์กฐํšŒ์ด๋‹ค.๋น…-์˜ค..
2024.06.13
์•Œ๊ณ ๋ฆฌ์ฆ˜/์•Œ๊ณ ๋ฆฌ์ฆ˜-์ด๋ก 
thumbnail
๐Ÿ–ค ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด๋ก  - ์ˆœ์—ด๊ณผ ์กฐํ•ฉ [JAVA]
0. ์„ค๋ช… ํ•˜๋ ค๋Š” ๊ฒƒ (1) ์ˆœ์—ด, ์กฐํ•ฉ, ์ค‘๋ณต ์ˆœ์—ด, ์ค‘๋ณต ์กฐํ•ฉ์˜ ์ •์˜ (2) JAVA ์–ธ์–ด๋ฅผ ์ผ์„ ๋•Œ, ๊ตฌํ˜„ ๋ฐฉ๋ฒ• 1. ์ˆœ์—ด (1) ์ˆœ์—ด์˜ ๋œป nPr = n ๊ฐœ ์ค‘์—์„œ r๊ฐœ๋ฅผ ์ค‘๋ณต ์—†์ด ๋ฝ‘์•„์„œ ์ˆœ์„œ ์žˆ๊ฒŒ ๋‚˜์—ดํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ๋”ฐ๋ผ์„œ {1, 2, 3, 4, 5} ์ค‘ 5P3 ์—์„œ {1, 2, 3} ๊ณผ {1, 3, 2}๋Š” ๋‹ค๋ฅธ ์ˆซ์ž์ด๋‹ค. (2) ๊ตฌํ˜„ ๋ฐฉ๋ฒ• ์ˆœ์—ด์€ ์žฌ๊ท€๋กœ ๊ตฌํ˜„ํ•œ๋‹ค. ์ˆœ์—ด์„ ์žฌ๊ท€๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์„ฑ์š”์†Œ๋“ค์ด ํ•„์š”ํ•˜๋‹ค. ์ „์ฒด ์›์†Œ๋“ค์— ๋Œ€ํ•œ ๋ฐฉ๋ฌธ ๋ฐฐ์—ด isVisited [] : ์ˆœ์—ด๋กœ ๊ฐ’์„ ๋ฝ‘์„ ๋•Œ, ์ค‘๋ณต์ด ์—†์–ด์•ผ ํ•˜๋ฏ€๋กœ, ๋ฐฉ๋ฌธ ๋ฐฐ์—ด์„ ํ†ตํ•ด, ์ด๋ฏธ ๋ฐฉ๋ฌธํ•œ ์ง€์ ์€ ๊ทธ๋ƒฅ ์ง€๋‚˜์น˜๋„๋ก ๊ตฌํ˜„ ํ•ด์•ผ ํ•œ๋‹ค. ๋ฝ‘ํžŒ r๊ฐœ์˜ ์›์†Œ๋ฅผ ๋‹ด์„ ๋ฐฐ์—ด output [] : ์ „์ฒด ์›์†Œ๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด์„ arr ..
2024.04.07
์•Œ๊ณ ๋ฆฌ์ฆ˜/์•Œ๊ณ ๋ฆฌ์ฆ˜-์ด๋ก 
thumbnail
๐Ÿ–คLIS ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ด๋ก ๊ณผ ๊ตฌํ˜„
1. LIS๋ž€?LIS๋ž€ Longest Increasing Subsequence์˜ ์•ฝ์ž๋กœ ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด์„ ๋œปํ•œ๋‹ค. LIS ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋Š” ์ „์ฒด ์ˆ˜์—ด์„ ์ฃผ์–ด์ง€๊ณ , ๊ทธ ์•ˆ์—์„œ ๊ฐ€์žฅ ๊ธธ๊ณ , ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด์„ ๊ตฌํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ๋“ค์„ ์ด์นญ์ด๋‹ค. ๋‚œ ๋ถ€๋ถ„ ์ˆ˜์—ด์ด ๋ฌด์—‡์ธ์ง€๋ถ€ํ„ฐ ํ—ท๊ฐˆ๋ ธ๋‹ค. ๋”ฐ๋ผ์„œ ๋จผ์ € ์ˆ˜ํ•™์  ๋ฐฐ๊ฒฝ์ง€์‹์„ ๊ณต๋ถ€ํ•˜๊ณ , ๋งˆ์ € ์„ค๋ช…ํ•˜๊ฒ ๋‹ค.1-1. ๋ถ€๋ถ„ ์ˆ˜์—ด์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ์ˆ˜์—ด์€ ์ˆ˜๊ฐ€ ํ•˜๋‚˜์˜ ์—ด๋กœ ๋‚˜์—ด๋œ ํ˜•ํƒœ๋ฅผ ๋œปํ•œ๋‹ค. (ํ–‰๊ตฐํ•˜๋Š” ๊ตฐ์ธ์„ ๋– ์˜ฌ๋ ค๋ณด๋ผ!) ์—ฌ๊ธฐ์„œ ๋ถ€๋ถ„์ˆ˜์—ด์ด๋ž€ ์ฃผ์–ด์ง„ ์ˆ˜์—ด์˜ ์ผ๋ถ€ ํ•ญ์„ ์›๋ž˜ ์ˆœ์„œ๋Œ€๋กœ ๋‚˜์—ดํ•˜์—ฌ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ˆ˜์—ด ์„ ๋œปํ•œ๋‹ค. ๋งŒ์•ฝ ์ „์ฒด ์ˆ˜์—ด S ๊ฐ€ {1,2,3,4,5,6,7,8,9,10}์ด๋ผ๋ฉด {1}, {2,4,6,8,10}, {2,4,6}, {8,9,10} ๋ชจ๋‘ S์˜ ๋ถ€๋ถ„..
2024.01.05
์•Œ๊ณ ๋ฆฌ์ฆ˜/์•Œ๊ณ ๋ฆฌ์ฆ˜-์ด๋ก