PROGRAMMING/STL
-
(라이님 블로그 대회 알고리즘 따라잡기 16) 다익스트(Dijkstra's Algorithm)PROGRAMMING/STL 2024. 6. 5. 10:33
D 아이 제이 케이 스트라 알고리즘을 공부해보았다! 이것도 매우 유명한 알고리즘 중 하나! https://blog.naver.com/PostView.naver?blogId=kks227&logNo=220796029558&parentCategoryNo=&categoryNo=299&viewDate=&isShowPopularPosts=false&from=postList 다익스트라 알고리즘(Dijkstra's Algorithm) (수정: 2019-08-16)이제부터 그래프에 대한 글만 엄청 쓸 겁니다. 한 11~12개 정도 예정되어 있네요. 그래프... 정말 어렵고, ...blog.naver.com 라이님 알고리즘을 보다가 gpt가 조금 고쳐준 버전으로 문제를 풀어볼까 한다!#include #include #in..
-
(백준 2583번 영역 구하기 C++) 라이님 블로그 대회 알고리즘 따라잡기 8) DFS 5PROGRAMMING/STL 2024. 4. 5. 17:49
반차쓰고 곱창국수 먹고 카페에서 한시간 졸고 푼 문제.. 역시 낮잠을 자니 머리가 잘 돌아가는군! 백준 2583번 https://www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net // 백준 2583번 #include #include #include using namespace std; constexpr int MAX_N = 101; class Graph { public: int M, N; int arr[MAX_N][MAX_N]; int di..
-
(백준 2667번 단지번호 붙이기C++) 라이님 블로그 대회 알고리즘 따라잡기 8) DFS 4PROGRAMMING/STL 2024. 4. 4. 21:49
크기가 작다고 막 짜다가 디버깅하는데 눙물날 뻔했다.. 백준 2667번 https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net //2667번 단지번호 붙이기 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include using namespace std; class Graph { public: int N; int arr[26][26]; int dir_x[4] = { 0, -1, 0, 1 }; ..
-
(백준 1743번 음식물 피하기C++) 라이님 블로그 대회 알고리즘 따라잡기 8) DFS 3PROGRAMMING/STL 2024. 4. 4. 20:20
이 기세를 몰아서 그대로~! 빡센 문제 하나 풀기 전에 몸풀기로 비슷한 문제를 하나 더 풀어보았다. 백준 1743번 https://www.acmicpc.net/problem/1743 1743번: 음식물 피하기 첫째 줄에 통로의 세로 길이 N(1 ≤ N ≤ 100)과 가로 길이 M(1 ≤ M ≤ 100) 그리고 음식물 쓰레기의 개수 K(1 ≤ K ≤ N×M)이 주어진다. 그리고 다음 K개의 줄에 음식물이 떨어진 좌표 (r, c)가 주어진다 www.acmicpc.net //1743번 음식물 피하기 #define _CRT_SECURE_NO_WARNINGS #include #include using namespace std; constexpr int MAX_N = 101; class Graph { public:..
-
(백준 1012번 유기농배추 C++) 라이님 블로그 대회 알고리즘 따라잡기 8) DFS 2PROGRAMMING/STL 2024. 4. 4. 19:36
미친 디버깅 끝에 겨우 찾았다. ㅎㅎ 영타 연습을 해야하나.. 오타가 많아서 큰일이다.. 백준 1012번 https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 이것 또한 라이님 블로그에 풀이가 있으니 참고참고🌽 // 1012번 유기농 배추 #define _CRT_SECURE_NO_WARNINGS #include #include #include using namespace std; constexpr int MAX_N = 51; class Graph { public..
-
(C++)DFS stack을 이용해서 구현해보기PROGRAMMING/STL 2024. 4. 4. 00:31
#include #include #include using namespace std; class Graph { int V; vector adj; public: Graph(int V) : V(V) {} void addEdge(int v, int w); void DFS(int s); }; void Graph::addEdge(int v, int w) { adj[v].push_back(w); } void Graph::DFS(int s) { vector visited(V, false); stack st; st.push(s); while (!st.empty()) { int s = st.top(); st.pop(); if (!visited[s]) { visited[s] = true; } for (auto i = ad..
-
(백준 2840번 행운의 바퀴 C++) 라이님 블로그 대회 알고리즘 따라잡기 7) 리스트, 배열, 연결 리스트 4PROGRAMMING/STL 2024. 3. 27. 20:46
백준 2840번 https://www.acmicpc.net/problem/2840 2840번: 행운의 바퀴 첫째 줄에 마지막 회전에서 화살표가 가리키는 문자부터 시계방향으로 바퀴에 적어놓은 알파벳을 출력한다. 이때, 어떤 글자인지 결정하지 못하는 칸은 '?'를 출력한다. 만약, 상덕이가 적어놓 www.acmicpc.net 풀이 방법 1. 길이가 N인 deque를 만들어 '?'으로 초기화한다. 2. K번 동안 입력 (n, k)에 대해 k가 맨 뒤에 가도록 설정하고, 맨 뒤에서 n번째에 다음 글자를 넣도록 한다. 문제 예시1에서 _ _ A → _ BA 이 되도록 한다. 3. B가 제일 뒤가 되도록 deque 원소를 이동한다. _ BA → A_B 2번과 3번 과정을 지속한다. #define _CRT_SECUR..
-
(백준 2346번 풍선 터뜨리기 C++) 라이님 블로그 대회 알고리즘 따라잡기 7) 리스트, 배열, 연결 리스트 3PROGRAMMING/STL 2024. 3. 26. 21:14
백준 2346번 https://www.acmicpc.net/problem/2346 2346번: 풍선 터뜨리기 1번부터 N번까지 N개의 풍선이 원형으로 놓여 있고. i번 풍선의 오른쪽에는 i+1번 풍선이 있고, 왼쪽에는 i-1번 풍선이 있다. 단, 1번 풍선의 왼쪽에 N번 풍선이 있고, N번 풍선의 오른쪽에 1번 풍선 www.acmicpc.net #include #include using namespace std; int main() { int N; cin >> N; int temp; deque dq; for (int i = 1; i > temp; dq.push_back(pair(i, temp)); } while (N--) { cout