https://www.acmicpc.net/problem/9613문제양의 정수 n개가 주어졌을 때, 가능한 모든 쌍의 GCD의 합을 구하는 프로그램을 작성하시오.입력첫째 줄에 테스트 케이스의 개수 t (1 ≤ t ≤ 100)이 주어진다. 각 테스트 케이스는 한
Brute Force 모든 경우의 수를 다 해보는 것을 브루트 포스라 한다. 문제의 가능한 경우를 계산해 O(1억)이 넘지 않는지 확인한다. 1에서 문제가 없는 경우, 가능한 모든 방법을 모두 해 본다. 이때 하나의 경우라도 빠짐이 없이 해야 한다. for,
A << B 는 A x 2^B와 같다.A >> B 는 A / 2^B와 같다.보통 0 ~ N-1까지 정수로 이루어진 집합을 나타낼 때 사용한다.1부터 N까지 정수로 이루어진 집합을 사용하는 경우 공간이 2배 더 필요하므로0부터 사용한다.i를 기준으로& (1 &
https://www.acmicpc.net/problem/15649N과 M (1)문제자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열입력첫째 줄에
정점(Vertex, Node)와 간선(Edge)을 통해 표현한다.G = (V,E)로 나타낸다.경로 - 단순히 한 정점에서 다른 정점으로 가는 길사이클 - 특정 정점에서 시작해 다시 그 정점으로 돌아오는 경로단순 경로와 단순 사이클 - 같은 정점을 두 번 이상 방문하지
BFS는 임의의 시작 점에서 모든 정점을 한번씩 방문하는 알고리즘이다. 최단 거리를 구하는 알고리즘이기도 하다. BFS를 이용해 해결할 수 있는 최단 거리 문제는 다음과 같은 조건들을 만족해야 한다. (1) 최소 비용 문제 (2) 간선의 가중치는 모두 1 (3) 정점
다이나믹 프로그래밍 큰 문제를 작은 문제로 나눠서 푼다.. 다음 두 가지 속성을 만족해야 한다. (1) Overlapping Subproblem : 큰 문제와 작은 문제를 같은 방법으로 풀 수 있다. 문제를 작은 문제로 쪼갤 수 있다. (2) Optimal Substr
https://www.acmicpc.net/problem/9465스티커뒤에서 어떻게 변할지 모르기 때문에 실시간으로 비교가 불가능 -> 모두 저장https://www.acmicpc.net/problem/2156포도주 시식max에 di-1을 반드시 추가
https://www.acmicpc.net/problem/1107 리모컨 모두 해보면서 안눌러지는 애들 과감하게 버리고 눌러지는 애들 중에 최소를 찾는다 https://www.acmicpc.net/problem/6064 카잉 달력 2번 씩만 건너뛰어도 모두 돌릴
일부 경우만 해보기 모든 경우를 해보는 것과 다르게 절대 정답이 될 수 없는 경우는 확인하지 않을 수도 있다. https://www.acmicpc.net/problem/2003 수들의 합 2 https://www.acmicpc.net/problem/1806 부분합
https://www.acmicpc.net/problem/13913 숨바꼭질 4 https://www.acmicpc.net/problem/9019 DSLR https://www.acmicpc.net/problem/1525 퍼즐 map 사용 https://www.a
https://www.acmicpc.net/problem/11048 이동하기 왜 다이나믹으로 풀어야 하는가? 문제가 다이나믹의 조건을 만족하는가? (1) Overlapping subploblem 큰 문제와 작은 문제를 같은 방법으로 풀 수 있다. 큰 문제를 작은 문제