๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿš“ Self Study/๐Ÿ”“ BaekJoon10

๋ฐฑ์ค€ BaekJoon (๋งฅ์ฃผ ๋งˆ์‹œ๋ฉด์„œ ๊ฑธ์–ด๊ฐ€๊ธฐ, 9205๋ฒˆ) C++ ๊ฐ€๋Šฅํ•œ ๊ฑฐ๋ฆฌ ์ด๋‚ด์˜ node๋ฅผ Adjacent list๋กœ ๋งŒ๋“ค๊ณ  BFS๋ฅผ ํ•œ ๊ฒฐ๊ณผ ๋„๋‹ฌํ•  ์ˆ˜ ์—†์œผ๋ฉด sad ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉด happy๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค. #include #include #include #include #include #include #include using namespace std; #define MAX 102 int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int test_case = 0; cin >> test_case; for(int i = 0 ; i > cu; int visited[MAX]; vector graph(MAX); memset(visite.. 2022. 1. 13.
๋ฐฑ์ค€ BaekJoon (๋น™์‚ฐ, 2573๋ฒˆ) C++ ๊ฐ€์žฅ ํฐ while ๋ฌธ ์•ˆ์—์„œ ๋ชจ๋“  ๋น™ํ•˜๊ฐ€ ๋…น์„ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์ „์ œ๋กœ ์ถœ๋ฐœ ์ฒ˜์Œ BFS์—์„œ๋Š” Continent๊ฐ€ ๋ช‡ ๊ฐœ์ธ์ง€๋ฅผ count ํ•ด์ค€๋‹ค. ๋‘ ๋ฒˆ์งธ BFS์—์„œ๋Š” ๊ฐ ๋น™ํ•˜์˜ ์ธ์ ‘ํ•œ ๋ฐ”๋‹ค๊ฐ€ ๋ช‡ ๊ฐœ ์žˆ๋Š”์ง€ count ํ•ด์„œ minus_arr ๋ฅผ ๋งŒ๋“ค์–ด ์นด์šดํŠธ๋ฅผ ํ•ด์ฃผ๊ณ  ๋งˆ์ง€๋ง‰์— Minus๋ฅผ ํ•œ๊บผ๋ฒˆ์— ์ง„ํ–‰ while->for->for->while ์ด๋ ‡๊ฒŒ nested ๋˜์–ด์žˆ๋Š”๋ฐ๋„ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ์•ˆ๋‚˜๋Š” ๊ฑฐ๋Š” BFS DFS ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋•Œ๋ฌธ์ธ๊ฐ€..?? #include #include #include #include #include #include using namespace std; int dx[4] = {0,0,-1,1}; int dy[4] = {1,-1,0,0}; int main() { ios_base::sy.. 2022. 1. 12.
๋ฐฑ์ค€ BaekJoon (์•ˆ์ „ ์˜์—ญ, 2468๋ฒˆ) C++ ์ด์ค‘ ๋ฐฐ์—ด ์ดˆ๊ธฐํ™”๋ฅผ ํ•  ๋•Œ vector ๋ง๊ณ  int[][] ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  memset(arr, 0, sizeof(arr)) ๋ฅผ ์‚ฌ์šฉํ•˜์ž. ๊ทธ๋ฆฌ๊ณ  ์ด ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ ๋ฌผ์ด ์•„์˜ˆ ์•ˆ ์˜ค๋Š” ๊ฒฝ์šฐ๊นŒ์ง€ ํ•ด์ค˜์•ผ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ํ†ต๊ณผํ•  ์ˆ˜ ์žˆ๋‹ค. #include #include #include #include #include #include using namespace std; int dx[4] = {0,0,-1,1}; int dy[4] = {1,-1,0,0}; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int N = 0; cin >> N; int arr[N+1][N+1]; int max = 0; for(int i = 0 ; i < N ; i++) { f.. 2022. 1. 12.
๋ฐฑ์ค€ BaekJoon (์Šคํƒ€ํŠธ๋งํฌ, 5014๋ฒˆ) C++ ๋ฌธ์ œ ์œ ํ˜•์ด ๊ฐ™๊ณ  ์ˆ˜๋Šฅ ์ˆ˜ํ•™ ๋ฌธ์ œ ํ–‰๋™์˜์—ญ ์ •๋ฆฌํ–ˆ๋˜ ๊ธฐ๋ถ„์ด๋‹ค. #include #include #include #include using namespace std; #define MAX 1000010 int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int F, S, G, U, D; queue q; vector visited(MAX, 0); vector path(MAX, 0); cin >> F >> S >> G >> U >> D; q.push(S); visited[S] = 1; int count = 0; while(!q.empty()) { int node = q.front(); q.pop(); if(node == G) { cout 2022. 1. 11.
๋ฐฑ์ค€ BaekJoon (์Šคํƒ€ํŠธ๋งํฌ, 5014๋ฒˆ) C++ ๋ฌธ์ œ ์œ ํ˜•์ด ๊ฐ™๊ณ  ์ˆ˜๋Šฅ ์ˆ˜ํ•™ ๋ฌธ์ œ ํ–‰๋™์˜์—ญ ์ •๋ฆฌํ–ˆ๋˜ ๊ธฐ๋ถ„์ด๋‹ค. #include #include #include #include using namespace std; #define MAX 1000010 int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int F, S, G, U, D; queue q; vector visited(MAX, 0); vector path(MAX, 0); cin >> F >> S >> G >> U >> D; q.push(S); visited[S] = 1; int count = 0; while(!q.empty()) { int node = q.front(); q.pop(); if(node == G) { cout 2022. 1. 11.
๋ฐฑ์ค€ BaekJoon (์ˆจ๋ฐ”๊ผญ์งˆ, 1697๋ฒˆ) C++ BFS ์ฒ˜๋Ÿผ ๊ฐ€๋ฉด ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค. DFS์ฒ˜๋Ÿผ ์ƒ๊ฐ์„ ํ–ˆ์—ˆ๋‹ค. ์ฃผ๋ณ€์— ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ณณ์— ๋Œ€ํ•œ ๋ชจ๋“  ๊ณ ๋ ค๋ฅผ ํ•˜๋ฉด์„œ ์›ํ•˜๋Š” node์™€ ๋งŒ๋‚˜๋ฉด break ํ•˜๊ฒŒ ํ•˜๋ฉด ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋. #include #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); vector visited(100010, 0); vector path(100010, 0); queue q; int start = 0, end = 0; cin >> start >> end; q.push(start); visited[start] = 1; while(!q.empty()) { int node = q... 2022. 1. 11.
๋ฐฑ์ค€ BaekJoon (ํ† ๋งˆํ† , 7569๋ฒˆ) C++ queue๋ฅผ ์ด์šฉํ•œ bfs๋ฅผ ํ•  ๋•Œ for๋ฌธ์˜ ์กฐ๊ฑด์„ ๋ณ€ํ•˜์ง€ ์•Š๋Š” ๊ฐ’์œผ๋กœ ๋จผ์ € ํ• ๋‹นํ•˜๊ณ  ์ง„ํ–‰ํ•˜์ž. ์—ฌ๊ธฐ์„œ๋Š” int size = q.size(); ๋กœ ๋จผ์ € size๋ฅผ ๊ณ ์ •์‹œํ‚ค๊ณ  for๋ฌธ์„ ๋Œ๋ ค์•ผ ํ•œ๋‹ค. #include #include #include #include using namespace std; int arr[101][101][101]; int visited[101][101][101] = {0,}; int dim[6][3] = { {0,0,1}, {0,0,-1}, {0,1,0}, {0,-1,0}, {-1,0,0}, {1,0,0}}; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int row = 0, col = 0, height =0;.. 2022. 1. 11.
๋ฐฑ์ค€ BaekJoon(์ดŒ์ˆ˜ ๊ณ„์‚ฐ, 2644๋ฒˆ) C++ ์ดŒ์ˆ˜ ๊ณ„์‚ฐ์„ Node ๊ฐ„์˜ ๊ฑฐ๋ฆฌ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌ์„ฑํ–ˆ๋Š”๋ฐ ์™œ ์„ฑ๊ณต์ธ์ง€...? ์•„ ๋ฐฉ๊ธˆ ์ดŒ์ˆ˜ ๊ณ„์‚ฐํ•˜๋Š” ๋ฒ•์„ ๊ตฌ๊ธ€๋งํ•˜๊ณ  ์™”๋Š”๋ฐ ์ด๊ฒŒ ๋งž๋‹ค. ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ ๊ฐ Node์—์„œ ์–ผ๋งˆ๋‚˜ ๋–จ์–ด์ ธ ์žˆ๋Š”์ง€๋ฅผ ๊ณ„์‚ฐํ•˜๋ฉด ์ดŒ์ˆ˜๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. #include #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int size = 0 ,me = 0, you = 0, num = 0; cin >> size; cin >> me >> you; cin >> num; vector arr(size+1); vector visited(size+1, 0); for(int i = 0 ; i < num .. 2022. 1. 10.
๋ฐฑ์ค€ BaekJoon (DFS์™€ BFS, 1260) C++ ์™„์ „ ์ •์„ ์ค‘์˜ ์ •์„ ๋ฌธ์ œ. ํ’€๋ฉด DFS์™€ BFS์˜ ๊ฐœ๋…์— ๋Œ€ํ•ด์„œ ๋‹ค์‹œ ์žก์„ ์ˆ˜ ์žˆ๋‹ค. #include #include #include #include #include using namespace std; int main() { int vertex = 0; int edge = 0; int first = 0; cin >> vertex >> edge >> first; vector adj(vertex+1); vector visited(vertex+1, 0); for(int i = 0 ; i > one >> two; adj[one].push_back(two); adj[two].push_back(one); } for(int i = 1 ; i 2022. 1. 5.
๋ฐฑ์ค€ BaekJoon (๋ฐ”์ด๋Ÿฌ์Šค, 2606) C++ BFS ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ์‚ฌ์ดํด์— visitedํ•˜๊ฒŒ ๋˜๋Š” node๊ฐ€ ๋ช‡ ๊ฐœ์ธ์ง€ ์„ธ์–ด์ฃผ๋ฉด ๋œ๋‹ค. #include #include #include using namespace std; int main() { int computer = 0; int num = 0; cin >> computer; cin >> num; vector adj(computer+1); vector visited(computer, 0); queue q; for(int i = 0 ; i > one >> two; adj[one].push_back(two); adj[two].push_back(one); } // for(int i =1 ; i < adj.size() ; i++).. 2022. 1. 5.