본문 바로가기

분류 전체보기41

[백준] 2003번 수들의 합 2 (C++) 목차문제입력출력풀이문제 해결 방법코드문제 문제 링크N개의 수로 된 수열 A[1], A[2], …, A[N] 이 있다. 이 수열의 i번째 수부터 j번째 수까지의 합 A[i] + A[i+1] + … + A[j-1] + A[j]가 M이 되는 경우의 수를 구하는 프로그램을 작성하시오.입력첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다.다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다.각각의 A[x]는 30,000을 넘지 않는 자연수이다.예제 입력 14 21 1 1 1예제 입력 210 51 2 3 4 2 5 3 1 1 2출력첫째 줄에 경우의 수를 출력한다.예제 출력 13예제 출력 23풀이문제 해결 방법이 문제는 두 포인터 알고리즘을 사용하.. 2025. 4. 12.
[백준] 1922번 네트워크 연결 (C++) 목차문제입력출력풀이문제 해결 방법코드문제 문제 링크도시가 N개의 컴퓨터로 구성되어 있다. 이들 사이에 네트워크를 연결하여 모든 컴퓨터가 서로 통신이 가능하도록 하려고 한다.네트워크 연결에 필요한 비용이 주어질 때, 모든 컴퓨터를 연결하는데 필요한 최소비용을 출력하는 프로그램을 작성하시오.입력첫째 줄에 컴퓨터의 수 N (1 ≤ N ≤ 1,000)이 주어진다.둘째 줄에는 연결할 수 있는 선의 수 M (1 ≤ M ≤ 100,000)이 주어진다.셋째 줄부터 M+2번째 줄까지 총 M개의 줄에 각 컴퓨터를 연결하는데 드는 비용이 주어진다.이 비용의 정보는 세 개의 정수 a b c로 나타나는데, 이는 a번 컴퓨터와 b번 컴퓨터를 연결하는데 비용이 c (1 ≤ c ≤ 10,000) 만큼 든다는 것을 의미한다.예제 입력.. 2025. 4. 12.
[백준] 11266번 단절점 (C++) 목차문제입력출력풀이문제 해결 방법코드문제 문제 링크그래프가 주어졌을 때, 단절점을 모두 구하는 프로그램을 작성하시오.단절점이란 그 정점을 제거했을 때, 그래프가 두 개 이상으로 나누어지는 정점을 말한다.입력첫째 줄에 두 정수 V(1≤V≤10,000), E(1≤E≤100,000)가 주어진다.다음 E개의 줄에는 간선 정보를 나타내는 두 정수 A, B가 주어진다.이는 A번 정점과 B번 정점이 연결되어 있다는 뜻이다.예제 입력 17 71 44 55 11 66 72 73 7출력첫째 줄에 단절점의 개수를 출력한다.둘째 줄에는 단절점의 번호를 공백으로 구분해 오름차순으로 출력한다.예제 출력 131 6 7풀이문제 해결 방법이 문제는 DFS를 사용하여 그래프의 단절점을 찾는 문제입니다. 단절점을 찾기 위한 주요 단계는 .. 2025. 4. 12.
[백준] 2098번 외판원 순회 (C++) 목차문제입력출력풀이문제 해결 방법코드문제 문제 링크외판원 순회 문제는 영어로 Traveling Salesman problem (TSP) 라고 불리는 문제로 computer science 분야에서 가장 중요하게 취급되는 문제 중 하나이다.도시가 N개 있고, 각 도시들 사이에는 길이 있을 수도, 없을 수도 있다. 이제 한 외판원이 한 도시에서 출발해 N개의 도시를 모두 거쳐 다시 원래의 도시로 돌아오는 순회 여행 경로를 계획하려고 한다.단, 한 번 갔던 도시로는 다시 갈 수 없다. (맨 마지막에 여행을 출발했던 도시로 돌아오는 것은 예외)이런 여행 경로 중에서 가장 적은 비용을 들이는 여행 계획을 세우고자 한다.입력첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 16)다음 N개의 줄에는 비용 행렬이 주.. 2025. 4. 10.
[백준] 1991번 트리순회 (C++) 목차문제입력출력풀이문제 해결 방법코드문제 문제 링크이진 트리를 입력받아 전위 순회(preorder traversal), 중위 순회(inorder traversal), 후위 순회(postorder traversal)한 결과를 출력하는 프로그램을 작성하시오.예를 들어 위와 같은 이진 트리가 입력되면,전위 순회한 결과 : ABDCEFG중위 순회한 결과 : DBAECFG후위 순회한 결과 : DBEGFCA입력첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다.둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다.노드의 이름은 A부터 차례대로 알파벳 대문자로 매겨지며, 항상 A가 루트 노드가 된다.자식 노드가 없는 경우에는 .으로 표현된다.예제 입력 17.. 2025. 4. 10.
[백준] 1927번 최소 힙 (C++) 목차문제입력출력풀이문제 해결 방법코드문제 문제 링크널리 잘 알려진 자료구조 중 최소 힙이 있다. 최소 힙을 이용하여 다음과 같은 연산을 지원하는 프로그램을 작성하시오.배열에 자연수 x를 넣는다.배열에서 가장 작은 값을 출력하고, 그 값을 배열에서 제거한다.입력첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다.다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다.만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고,x가 0이라면 배열에서 가장 작은 값을 출력하고 그 값을 배열에서 제거하는 경우이다.입력되는 자연수는 2³¹보다 작다.예제 입력 1901234567812000032출력입력에서 0이 주어진 회수만큼 답을 출력한다.만약 배열이 비어 있는 경우인데 가장 작.. 2025. 4. 10.