๋ชฉ๋ก๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (122)

Hello Ocean! ๐ŸŒผ

[C/C++] scanf, scanf_s๋กœ ์ž…๋ ฅ๋ฐ›์„ ๋•Œ "\n" ์ด ์„ž์—ฌ ๋“ค์–ด๊ฐ€๋Š” ๋ฌธ์ œ

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ, ์›๋ž˜ cin/cout์„ ์ด์šฉํ–ˆ์—ˆ๋Š”๋ฐ ๋ฐฑ์ค€์—์„œ ๋‚œ์ด๋„๊ฐ€ ๊ณจ๋“œ ์ด์ƒ์ธ ๋ฌธ์ œ์ค‘์— ๊ฐ„ํ˜น cin/cout์œผ๋กœ ์ธํ•ด์„œ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋“ค์ด ์žˆ์—ˆ๋‹ค. cin.tie(NULL) ๊ฐ™์€ ๋ฌธ๋ฒ•์„ ์ถ”๊ฐ€ํ•ด์„œ ์ž…์ถœ๋ ฅ ์‹œ๊ฐ„์„ ์ค„์ด๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์—ˆ์ง€๋งŒ, ๊ทธ๋ž˜๋„ scanf/printf๊ฐ€ ์ œ์ผ ๋น ๋ฅธ ๊ฒƒ ๊ฐ™์•„ ์–ผ๋งˆ์ „ ๋ถ€ํ„ฐ๋Š” scanf/printf๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ๋‹ค. ๋‹ค์‹œ ์ด๊ฑธ ์จ๋ณด๋‹ˆ cin/cout์ด ์–ผ๋งˆ๋‚˜ ํŽธ๋ฆฌํ•˜๊ณ  ์นœ์ ˆํ•œ ๋ฌธ๋ฒ•์ธ์ง€ ๊นจ๋‹ซ๊ฒŒ ๋˜์—ˆ๋‹ค.. https://www.acmicpc.net/problem/17244 17244๋ฒˆ: ์•„๋งž๋‹ค์šฐ์‚ฐ ๊ฒฝ์žฌ์”จ๋Š” ์ €๋… ์•ฝ์†์„ ๊ฐ€๊ธฐ ์ „ ์ฑ™๊ธฐ์ง€ ์•Š์€ ๋ฌผ๊ฑด๋“ค์ด ์žˆ๋Š” ์ง€ ํ™•์ธํ•˜๊ณ  ์žˆ๋‹ค. ํ•„์š”ํ•œ ๋ฌผ๊ฑด์€ ์ „๋ถ€ ์ฑ™๊ธด ๊ฒƒ ๊ฐ™์•˜๊ณ  ์™ธ์ถœ ํ›„ ๋Œ์•„์˜ค๋Š” ๊ธธ์— ๊ฒฝ์žฌ์”จ๋Š” ์™ธ์ณค๋‹ค. "์•„ ..

Algorithm 2021. 7. 30. 11:02
[๋ฐฑ์ค€/C++] 11437, 11438. LCA 1,2

๋ฌธ์ œ https://www.acmicpc.net/problem/11437 -> LCA 1 https://www.acmicpc.net/problem/11438 -> LCA 2 ์ฃผ์–ด์ง„ ๋‘ ๋…ธ๋“œ์— ๋Œ€ํ•ด LCA(๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ณตํ†ต ์กฐ์ƒ)์„ ๊ตฌํ•˜๋ฉด ๋˜๋Š” ๋ฌธ์ œ์ด๋‹ค. 1๋ฒˆ๊ณผ 2๋ฒˆ์˜ ์ฐจ์ด๋Š” ๋…ธ๋“œ์˜ ์ตœ๋Œ€ ๊ฐฏ์ˆ˜ ๋ฐ ์‹œ๊ฐ„ ์ œํ•œ์˜ ์ฐจ์ด์ด๋‹ค. LCA2๊ฐ€ ํ›จ์”ฌ ๋นก๋นกํ•˜๋‹ค. ํ’€์ด 1. 11437 LCA1๋ฒˆ ํ’€์ด ์—ฐ๊ฒฐ๋œ ๋‘ ๋…ธ๋“œ a,b๊ฐ€ N-1๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ์„œ ์ž…๋ ฅ๋˜๋Š”๋ฐ, a,b์ค‘์— ์–ด๋–ค ๋…ธ๋“œ๊ฐ€ ๋ถ€๋ชจ๋…ธ๋“œ์ธ์ง€๋Š” ์ž…๋ ฅ ๋ฐ›์„ ๋•Œ์—๋Š” ์•Œ ์ˆ˜๊ฐ€ ์—†๋‹ค. ๊ทธ๋ž˜์„œ ์ฒ˜์Œ์—๋Š” ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ๋กœ ์ €์žฅํ–ˆ๋‹ค๊ฐ€, ์ž…๋ ฅ์„ ๋‹ค ๋ฐ›์€ ํ›„์— BFS๋ฅผ ํ†ตํ•ด ๋ฃจํŠธ์ธ 1๋ถ€ํ„ฐ ํƒ€๊ณ  ๋“ค์–ด๊ฐ€์„œ ํŠธ๋ฆฌ๊ตฌ์กฐ๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ๋‹ค. (๊ฐ ๋…ธ๋“œ์˜ ๋ถ€๋ชจ์™€, ๊นŠ์ด ์ €์žฅ) ๊ทธ๋ฆฌ๊ณ  LCA๋ฅผ..

Algorithm 2021. 7. 27. 20:55
[๋ฐฑ์ค€/C++] 12888. ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ ๋„๋กœ ๋„คํŠธ์›Œํฌ

๋ฌธ์ œ https://www.acmicpc.net/problem/12888 BOJ ๋‚˜๋ผ๋Š” ๋„์‹œ์™€ ๋‘ ๋„์‹œ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋„๋กœ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ์ด ๋‚˜๋ผ์˜ ๋„๋กœ ๋„คํŠธ์›Œํฌ๋Š” ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ์˜ ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง„๋‹ค. ์ˆ˜๋นˆ์ด๋Š” BOJ ๋‚˜๋ผ์˜ ๋„๋กœ ๋„คํŠธ์›Œํฌ ํŠธ๋ฆฌ์˜ ๋†’์ด H๋ฅผ ์•Œ๊ณ  ์žˆ๋‹ค. ํŠธ๋ฆฌ์˜ ๋†’์ด๋ฅผ ์•ˆ๋‹ค๋ฉด, ๋„์‹œ์˜ ๊ฐœ์ˆ˜์™€ ๋„๋กœ์˜ ๊ฐœ์ˆ˜๋„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ํŠธ๋ฆฌ์˜ ๋†’์ด๊ฐ€ H์ธ ๊ฒฝ์šฐ์— ๋„์‹œ์˜ ๊ฐœ์ˆ˜๋Š” 2(H+1)-1๊ฐœ ์ด๊ณ , ๋„๋กœ์˜ ๊ฐœ์ˆ˜๋Š” 2(H+1)-2๊ฐœ๊ฐ€ ๋œ๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ์€ H = 2์ผ ๋•Œ, ๊ทธ๋ฆผ์ด๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ๋„๋กœ ๋„คํŠธ์›Œํฌ์— ์ฐจ๋ฅผ ๋ณด๋‚ด๋ ค๊ณ  ํ•œ๋‹ค. ๋ชจ๋“  ์ฐจ๋Š” ์‹œ์ž‘ ๋„์‹œ์™€ ๋„์ฐฉ ๋„์‹œ๊ฐ€ ์žˆ์œผ๋ฉฐ, ๊ฐ™์€ ๋„์‹œ๋ฅผ ๋‘ ๋ฒˆ ์ด์ƒ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ฐจ์˜ ์‹œ์ž‘ ๋„์‹œ์™€ ๋„์ฐฉ ๋„์‹œ๊ฐ€ ๊ฐ™์„ ์ˆ˜๋„ ์žˆ๋‹ค. ๋ชจ๋“  ๋„์‹œ๋ฅผ ๋ฐฉ๋ฌธํ•œ ์ฐจ์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋ชจ๋‘ 1๊ฐœ๊ฐ€ ๋˜..

Algorithm 2021. 7. 20. 21:44
[๋ฐฑ์ค€/C++] 10838. ํŠธ๋ฆฌ

๋ฌธ์ œ https://www.acmicpc.net/problem/10838 N๊ฐœ์˜ ๋…ธ๋“œ๋กœ ๊ตฌ์„ฑ๋œ ๋ฃจํŠธ๊ฐ€ ์žˆ๋Š” ํŠธ๋ฆฌ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ๋…ธ๋“œ๋Š” 0๋ถ€ํ„ฐ N-1๊นŒ์ง€์˜ ๋ฒˆํ˜ธ๋กœ ๊ตฌ๋ณ„๋˜๊ณ , 0๋ฒˆ ๋…ธ๋“œ๋Š” ๋ฃจํŠธ ๋…ธ๋“œ์ด๊ณ , ๋‚˜๋จธ์ง€ ๋…ธ๋“œ ๊ฐ๊ฐ์€ 0๋ฒˆ ๋…ธ๋“œ์˜ ์ž์‹ ๋…ธ๋“œ์ด๋‹ค. ํŠธ๋ฆฌ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์—ฐ์‚ฐ์€ ์„ธ ์ข…๋ฅ˜์ด๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ํŠธ๋ฆฌ์˜ ๋ชจ์–‘์„ ๋ฐ”๊พธ๊ฑฐ๋‚˜ ํŠธ๋ฆฌ ์—์ง€์— ์ƒ‰์น ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐ ์—ฐ์‚ฐ๊ณผ ๊ทธ ์˜๋ฏธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. paint(a, b, c): a๋ฒˆ ๋…ธ๋“œ์™€ b๋ฒˆ ๋…ธ๋“œ๋ฅผ ์ž‡๋Š” ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ์ฐพ์€ ํ›„, ๊ฒฝ๋กœ ์ƒ์— ์žˆ๋Š” ๋ชจ๋“  ์—์ง€๋ฅผ ์ƒ‰๊น” c๋กœ ์น ํ•œ๋‹ค. move(a, b): a๋ฒˆ ๋…ธ๋“œ์˜ ๋ถ€๋ชจ ๋…ธ๋“œ๋ฅผ b๋ฒˆ ๋…ธ๋“œ๋กœ ๋ฐ”๊พผ๋‹ค. ๋‹จ, b๋ฒˆ ๋…ธ๋“œ๋Š” a๋ฒˆ ๋…ธ๋“œ๋ฅผ ๋ฃจํŠธ๋กœ ํ•˜๋Š” ๋ถ€ํŠธ๋ฆฌ(subtree)์— ์†ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋ถ€๋ชจ ๋…ธ๋“œ๋ฅผ ๋ฐ”๊พธ๊ธฐ..

Algorithm 2021. 7. 20. 19:50
[๋ฐฑ์ค€/C++] 19535. ใ„ทใ„ทใ„ทใ…ˆ

๋ฌธ์ œ https://www.acmicpc.net/problem/19535 ํ’€์ด ใ„ท ํŠธ๋ฆฌ : (n๊ณผ ์—ฐ๊ฒฐ๋œ ๋…ธ๋“œ(a ์ œ์™ธ)) - (n) - (n๊ณผ ์—ฐ๊ฒฐ๋œ ๋…ธ๋“œ(a)) - (a์™€ ์—ฐ๊ฒฐ๋œ ๋…ธ๋“œ(n ์ œ์™ธ)) ๋”ฐ๋ผ์„œ ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” ๋ชจ๋“  ๋…ธ๋“œ(n)์— ๋Œ€ํ•ด์„œ, n๊ณผ ์—ฐ๊ฒฐ๋œ ๋…ธ๋“œ๊ฐ€ x๊ฐœ๋ผ๊ณ  ํ•˜๊ณ , n๊ณผ ์—ฐ๊ฒฐ๋œ ์–ด๋–ค ๋…ธ๋“œ a์™€ ์—ฐ๊ฒฐ๋œ ๋…ธ๋“œ๊ฐ€ y๊ฐœ๋ผ๊ณ  ํ•˜๋ฉด, (x-1) * (y-1) ์˜ ํ•ฉ์œผ๋กœ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. * ์ค‘๋ณต์„ ๋ง‰๊ธฐ ์œ„ํ•ด, n์ด a๋ณด๋‹ค ๋…ธ๋“œ๋ฒˆํ˜ธ๊ฐ€ ํฐ ๊ฒฝ์šฐ๋งŒ ์…ˆ ใ…ˆ ํŠธ๋ฆฌ : (n) - (n๊ณผ ์—ฐ๊ฒฐ๋œ ๋…ธ๋“œ 3๊ฐœ) ๋”ฐ๋ผ์„œ ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š”, ์—ฐ๊ฒฐ๋œ ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜ a๊ฐ€ 3 ์ด์ƒ์ธ ๋…ธ๋“œ n์— ๋Œ€ํ•ด์„œ aC3 ์˜ ์ด ํ•ฉ์„ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค. ์ฝ”๋“œ #include #include using namespace std; int N; vector..

Algorithm 2021. 7. 13. 21:38
[๋ฐฑ์ค€/C++] 3584. ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ณตํ†ต์กฐ์ƒ

๋ฌธ์ œ https://www.acmicpc.net/problem/3584 ๋ฃจํŠธ๊ฐ€ ์žˆ๋Š” ํŠธ๋ฆฌ(rooted tree)๊ฐ€ ์ฃผ์–ด์ง€๊ณ , ๊ทธ ํŠธ๋ฆฌ ์ƒ์˜ ๋‘ ์ •์ ์ด ์ฃผ์–ด์งˆ ๋•Œ ๊ทธ๋“ค์˜ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ณตํ†ต ์กฐ์ƒ(Nearest Common Anscestor)์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜๋ฉ๋‹ˆ๋‹ค. ๋‘ ๋…ธ๋“œ์˜ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ณตํ†ต ์กฐ์ƒ์€, ๋‘ ๋…ธ๋“œ๋ฅผ ๋ชจ๋‘ ์ž์†์œผ๋กœ ๊ฐ€์ง€๋ฉด์„œ ๊นŠ์ด๊ฐ€ ๊ฐ€์žฅ ๊นŠ์€(์ฆ‰ ๋‘ ๋…ธ๋“œ์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด) ๋…ธ๋“œ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 15์™€ 11๋ฅผ ๋ชจ๋‘ ์ž์†์œผ๋กœ ๊ฐ–๋Š” ๋…ธ๋“œ๋Š” 4์™€ 8์ด ์žˆ์ง€๋งŒ, ๊ทธ ์ค‘ ๊นŠ์ด๊ฐ€ ๊ฐ€์žฅ ๊นŠ์€(15์™€ 11์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด) ๋…ธ๋“œ๋Š” 4 ์ด๋ฏ€๋กœ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ณตํ†ต ์กฐ์ƒ์€ 4๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๋ฃจํŠธ๊ฐ€ ์žˆ๋Š” ํŠธ๋ฆฌ๊ฐ€ ์ฃผ์–ด์ง€๊ณ , ๋‘ ๋…ธ๋“œ๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ ๊ทธ ๋‘ ๋…ธ๋“œ์˜ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ณตํ†ต ์กฐ์ƒ์„ ์ฐพ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š” ํ’€์ด ์ž…๋ ฅ๋œ..

Algorithm 2021. 7. 6. 20:57