반응형 전체 글162 프로그래머스 - 네트워크 / C++ 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr 문제 풀이 n은 컴퓨터의 개수이고 최대 200개이다. 따라서 방문 여부 체크를 할 수 있는 visited 배열은 200번째 인덱스까지 선언해준다. 0번 컴퓨터부터 n번 컴퓨터까지 DFS를 거쳐 연결된 컴퓨터를 체크한다. DFS 함수 내부에는 다시 0부터 n까지 해당 노드와 연결되어 있는 노드들에 대해서 DFS를 거치는데, 문제의 조건 중에서 .. 2022. 2. 15. 프로그래머스 - 타겟 넘버 / C++ 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 programmers.co.kr 문제 풀이 주어진 숫자를 더하고 빼서 target이 될 수 있는지 찾는 문제이다. numbers 배열의 크기가 크지 않으므로 DFS를 통해 모든 더하기, 빼기의 경우의 수를 체크해보면 된다. 소스 코드 #include using namespace std; int answer = 0; void DFS(vector numbers.. 2022. 2. 13. 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. 이전 1 ··· 18 19 20 21 22 23 24 ··· 41 다음 반응형