#문제 9095번: 1, 2, 3 더하기 https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net #접근방법 동적계획법으로 접근하였다. #풀이 #include int dp[11]={1,2,4}; int main(){ int t,n; for(int i=3;i
#문제 1541번: 잃어버린 괄호 https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net #접근방법 숫자, '+', '-' 를 분리하고 '+'연산부터 한 다음 '-'연산을 해주었다. 그리디 알고리즘으로 접근하였다. #풀이 #include #include #include #include using namespace std; vector v; int main(){ int s = 0; int x; int ans = 0; string a; cin >> ..
#문제 1260번: DFS와 BFS 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)를 사용하여 접근하였다. #풀이 #include #include #include #include #include using namespace std; vector v[1005]; int n,m,k; int a,b; int visit[1005]; voi..
#문제 1012번: 유기농 배추 https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net #접근방법 그래프 탐색 기법 중 깊이우선탐색(dfs)를 사용하여 접근하였다. #풀이 #include #include int arr[55][55]={0}; int xx[4] = {0,0,-1,1}; int yy[4] = {1,-1,0,0}; int t,m,n,k; int a,b; int ans; void dfs(int x,int y){ for(int i=0;i=0 && X=0 &..
#문제 11726번: 2xn 타일링 https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net #접근방법 동적계획법으로 접근하였다. #풀이 #include int dp[1005]={1,1}; int main(){ int n; scanf("%d",&n); for(int i=2;i
#문제 11659번: 구간 합 구하기 4 https://www.acmicpc.net/problem/11659 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net #접근방법 슬라이딩 윈도우 기법으로 접근하였다. #풀이 #include int arr[100005]; int main(){ int n,m; int a,b; scanf("%d %d",&n,&m); for(int i=1;i
#문제 9461번: 파도반 수열 https://www.acmicpc.net/problem/9461 9461번: 파도반 수열 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 www.acmicpc.net #접근방법 규칙을 찾은 뒤 동적계획법으로 접근하였다. #풀이 #include long long int dp[100] = {1,1,1,2,2}; int main(){ int t,n; scanf("%d",&t); for(int i=5;i
#문제 9375번: 패션왕 신해빈 https://www.acmicpc.net/problem/9375 9375번: 패션왕 신해빈 첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다. www.acmicpc.net #접근방법 수학문제이다. 문자열을 구분하기 위해 자료구조 map을 사용해주었다. #풀이 #include #include #include using namespace std; int main(){ int t,n; map::iterator iter; string a,b; in..