반응형 Programming Solve133 BOJ 2667 - 단지 번호 붙이기 / C++ 문제 링크 : https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 문제 풀이 지도를 입력받아 순차적으로 돌며 집이 있고 방문하지 않은 곳을 발견하면 해당 지점부터 DFS 또는 BFS를 시작하여 연결되어 있는 집을 모두 찾아 단지 수를 증가시켜주면 된다. 이러한 방식으로 모두 체크한 뒤, 단지 수와 각 단지에 속한 집의 수를 오름차순으로 출력하면 된다. 소스 코드 #include #include #include #include using namespa.. 2022. 2. 13. BOJ 1697 - 숨바꼭질 / C++ 문제 링크 : https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 문제 풀이 요약하면, 현재 위치 n에서 k까지 갈 때 x+1, x-1, 2*x 중 한 가지 과정을 거쳐서 갈 수 있으며 최소 시간(카운트)을 구하면 되는 문제이다. 잠시 DFS와 BFS의 개념을 살펴보면 DFS는 아래의 그림처럼 현재 branch를 최대한 깊이 탐색한 후 다음 branch를 탐색하는 방식이며 BFS는 아래의 그림처럼 인접 노드를 모두 탐색한.. 2022. 2. 12. BOJ 1260 - DFS와 BFS / 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 문제 설명 주석으로 대체 소스 코드 #include #include #include using namespace std; const int MAX = 1001; int N, M, V; //정점, 간선, 탐색 시작 번호 int adjacent[MAX][MAX]; bool visited[MAX]; queue q; void DFS(int idx) {/.. 2022. 2. 10. 프로그래머스 - 카펫 / C++ 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42842# 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr 문제 풀이 문제를 읽고 테스트케이스를 보니 제일 먼저 떠오른 수식은 yellow + brown = w * h이다. 바로 구현하여 브루트포스하였지만 테스트케이스 4, 6, 7을 통과하지 못했다. 검색해보니 반례가 brown = 18, yellow = 6인 경우 그림과 같이 만들려면 width = 8, height= 3이어야 하지만 width =.. 2022. 2. 6. 이전 1 ··· 17 18 19 20 21 22 23 ··· 34 다음 반응형