본문 바로가기

코딩테스트_백준풀이54

DFS와 BFS #1260 c++ 풀이 https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net DFS, BFS 의 가장 기본적인 문제라고 생각한다. dfs는 재귀, bfs는 queue로 구현하였다. #include #include #include #include using namespace std; int Graph[1001][1001]; int Visited[1001]; int N, M, V; void dfs(int node) { if (Visited.. 2023. 10. 24.
유기농 배추 #1012 c++ 풀이 https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 유기농 배추를 풀기 위해 dfs 에 대해서 공부했다. https://wannadev.tistory.com/96 BFS, DFS c++ - DFS란, 그래프 전체를 탐색하는 하나의 방법으로써, 하나의 가지(branch)를 모두 탐색한 이후에 다음 branch로 이동하는 방법이다. - 시작 노드에서 깊이가 커지는 방향으로 탐색을 진행하여 더 이 wannadev.tistory.com DFS관점에서 이차원 배열문제를.. 2023. 10. 24.
Z #1074 c++ 풀이 https://www.acmicpc.net/problem/1074 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net 처음 든 생각은, 0,1,2,3 중에 영역을 계속 찾아들어가야하는 것 까지 생각을 했었다. 그런데 문제는 누적수를 어떻게 구하느냐 였다 #include using namespace std; int n, r, c; int ans; void Z(int y, int x, int size) { if (y == r && x == c) { cout = x) { // 1사분면 탐색 Z(y, x, si.. 2023. 10. 23.
피보나치 함수 #1003 c++ 풀이 https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 0.25 초 (추가 시간 없음) 를 보고, 수업시간에 피보나치 수열계산을 재귀로 풀게 되면 시간이 오래걸린다고 했던 것이 기억에 남는다. 최소한 반복문이나 dp로 풀어야겠다고 생각을 했다. dp란 dp란 메모이제이션을 이용하여, 하나의 문제는 한번만 풀도록 구현하는 방법이다. dp로 피보나치를 구현하는 방법은 다음과 같다. using namespace std; long long fiboarr[100] = {0,1,}; long long fibo(int N) { if(N == 0 || N == .. 2023. 10. 23.