- ์ฌ๊ท
- ์ํฐ๋
- ์ด๋ถํ์
- ํ๋ฆฌ์จ๋ณด๋ฉ
- Union-Find
- js
- ์์ฝ๋
- golang
- nestjs
- ๋ฐฑ์ค
- ์นด์นด์ค ์ฝํ
- ๋นํธ๋ง์คํน
- ๋ฐฑ์๋ ํ๋ฆฌ์จ๋ณด๋ฉ
- ๊ฐ์ฅ๊ฐ๊น์ด๊ณตํต์กฐ์
- DFS
- go
- LCs
- ์ฌ๋ผ์ด๋ฉ ์๋์ฐ
- C++
- Python
- ๋นํธ๋งต
- BFS
- ๋ค์ต์คํธ๋ผ
- ๋์ ํ๋ก๊ทธ๋๋ฐ
- ์นด์นด์ค2021
- ์๊ณ ๋ฆฌ์ฆ
- ํธ๋ฆฌ
- ํ๋ก๊ทธ๋๋จธ์ค
- ์น๋ฆฐ์ด
- DP
- Today
- Total
๋ชฉ๋ก๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ (122)
Hello Ocean! ๐ผ
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/383eg/btraHYeNyQs/VvZvqUrsUqD6YdiYB45KaK/img.png)
์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ํ ๋, ์๋ cin/cout์ ์ด์ฉํ์๋๋ฐ ๋ฐฑ์ค์์ ๋์ด๋๊ฐ ๊ณจ๋ ์ด์์ธ ๋ฌธ์ ์ค์ ๊ฐํน cin/cout์ผ๋ก ์ธํด์ ์๊ฐ์ด๊ณผ๊ฐ ๋ฐ์ํ๋ ๋ฌธ์ ๋ค์ด ์์๋ค. cin.tie(NULL) ๊ฐ์ ๋ฌธ๋ฒ์ ์ถ๊ฐํด์ ์ ์ถ๋ ฅ ์๊ฐ์ ์ค์ด๋ ๋ฐฉ๋ฒ๋ ์์์ง๋ง, ๊ทธ๋๋ scanf/printf๊ฐ ์ ์ผ ๋น ๋ฅธ ๊ฒ ๊ฐ์ ์ผ๋ง์ ๋ถํฐ๋ scanf/printf๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์๋ค. ๋ค์ ์ด๊ฑธ ์จ๋ณด๋ cin/cout์ด ์ผ๋ง๋ ํธ๋ฆฌํ๊ณ ์น์ ํ ๋ฌธ๋ฒ์ธ์ง ๊นจ๋ซ๊ฒ ๋์๋ค.. https://www.acmicpc.net/problem/17244 17244๋ฒ: ์๋ง๋ค์ฐ์ฐ ๊ฒฝ์ฌ์จ๋ ์ ๋ ์ฝ์์ ๊ฐ๊ธฐ ์ ์ฑ๊ธฐ์ง ์์ ๋ฌผ๊ฑด๋ค์ด ์๋ ์ง ํ์ธํ๊ณ ์๋ค. ํ์ํ ๋ฌผ๊ฑด์ ์ ๋ถ ์ฑ๊ธด ๊ฒ ๊ฐ์๊ณ ์ธ์ถ ํ ๋์์ค๋ ๊ธธ์ ๊ฒฝ์ฌ์จ๋ ์ธ์ณค๋ค. "์ ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cqmIAJ/btraGHiJM13/uZCC2ZmlNTqivFSslMsNH1/img.png)
๋ฌธ์ 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๋ฅผ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/BRnIA/btq99bYqAg9/tZk2Qo103GUl1cIeOM6dpk/img.png)
๋ฌธ์ https://www.acmicpc.net/problem/12888 BOJ ๋๋ผ๋ ๋์์ ๋ ๋์๋ฅผ ์ฐ๊ฒฐํ๋ ๋๋ก๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ์ด ๋๋ผ์ ๋๋ก ๋คํธ์ํฌ๋ ์์ ์ด์ง ํธ๋ฆฌ์ ํํ๋ฅผ ๊ฐ์ง๋ค. ์๋น์ด๋ BOJ ๋๋ผ์ ๋๋ก ๋คํธ์ํฌ ํธ๋ฆฌ์ ๋์ด H๋ฅผ ์๊ณ ์๋ค. ํธ๋ฆฌ์ ๋์ด๋ฅผ ์๋ค๋ฉด, ๋์์ ๊ฐ์์ ๋๋ก์ ๊ฐ์๋ ๊ตฌํ ์ ์๋ค. ํธ๋ฆฌ์ ๋์ด๊ฐ H์ธ ๊ฒฝ์ฐ์ ๋์์ ๊ฐ์๋ 2(H+1)-1๊ฐ ์ด๊ณ , ๋๋ก์ ๊ฐ์๋ 2(H+1)-2๊ฐ๊ฐ ๋๋ค. ์๋ ๊ทธ๋ฆผ์ H = 2์ผ ๋, ๊ทธ๋ฆผ์ด๋ค. ์๋น์ด๋ ๋๋ก ๋คํธ์ํฌ์ ์ฐจ๋ฅผ ๋ณด๋ด๋ ค๊ณ ํ๋ค. ๋ชจ๋ ์ฐจ๋ ์์ ๋์์ ๋์ฐฉ ๋์๊ฐ ์์ผ๋ฉฐ, ๊ฐ์ ๋์๋ฅผ ๋ ๋ฒ ์ด์ ๋ฐฉ๋ฌธํ์ง ์๋๋ค. ์ฐจ์ ์์ ๋์์ ๋์ฐฉ ๋์๊ฐ ๊ฐ์ ์๋ ์๋ค. ๋ชจ๋ ๋์๋ฅผ ๋ฐฉ๋ฌธํ ์ฐจ์ ๊ฐ์๊ฐ ๋ชจ๋ 1๊ฐ๊ฐ ๋..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/wpFhP/btq92yHq0wi/fu6dk6apCbSFqVYc4BN4V1/img.png)
๋ฌธ์ 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)์ ์ํ์ง ์๋๋ค. ๋ถ๋ชจ ๋ ธ๋๋ฅผ ๋ฐ๊พธ๊ธฐ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bvFOZB/btq9pDCzqha/TKmI5rDfFHOqxbQNd0qix0/img.png)
๋ฌธ์ 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..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/mfDl9/btq806qykgp/3SelohDXgOGt3xg63bWsu1/img.png)
๋ฌธ์ https://www.acmicpc.net/problem/3584 ๋ฃจํธ๊ฐ ์๋ ํธ๋ฆฌ(rooted tree)๊ฐ ์ฃผ์ด์ง๊ณ , ๊ทธ ํธ๋ฆฌ ์์ ๋ ์ ์ ์ด ์ฃผ์ด์ง ๋ ๊ทธ๋ค์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต ์กฐ์(Nearest Common Anscestor)์ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋ฉ๋๋ค. ๋ ๋ ธ๋์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต ์กฐ์์, ๋ ๋ ธ๋๋ฅผ ๋ชจ๋ ์์์ผ๋ก ๊ฐ์ง๋ฉด์ ๊น์ด๊ฐ ๊ฐ์ฅ ๊น์(์ฆ ๋ ๋ ธ๋์ ๊ฐ์ฅ ๊ฐ๊น์ด) ๋ ธ๋๋ฅผ ๋งํฉ๋๋ค. ์๋ฅผ ๋ค์ด 15์ 11๋ฅผ ๋ชจ๋ ์์์ผ๋ก ๊ฐ๋ ๋ ธ๋๋ 4์ 8์ด ์์ง๋ง, ๊ทธ ์ค ๊น์ด๊ฐ ๊ฐ์ฅ ๊น์(15์ 11์ ๊ฐ์ฅ ๊ฐ๊น์ด) ๋ ธ๋๋ 4 ์ด๋ฏ๋ก ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต ์กฐ์์ 4๊ฐ ๋ฉ๋๋ค. ๋ฃจํธ๊ฐ ์๋ ํธ๋ฆฌ๊ฐ ์ฃผ์ด์ง๊ณ , ๋ ๋ ธ๋๊ฐ ์ฃผ์ด์ง ๋ ๊ทธ ๋ ๋ ธ๋์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต ์กฐ์์ ์ฐพ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์ ํ์ด ์ ๋ ฅ๋..