#문제 2742번: 기찍 N https://www.acmicpc.net/problem/2742 2742번: 기찍 N 자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. www.acmicpc.net #접근방법 n부터 1을 반복문을 통해 출력해주면 된다. #풀이 #include int main(){ int n; scanf("%d",&n); for(int i=n;i>=1;i--) printf("%d\n",i); return 0; } n을 입력받고 n부터 1까지 반복하는 반복문에서 i를 출력해주면 정답이다. #성능 #정리 반복문을 통해 n부터 1을 출력해주면 풀 수 있는 단순한 문제였다.
#문제 2741번: N 찍기 https://www.acmicpc.net/problem/2741 2741번: N 찍기 자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. www.acmicpc.net #접근방법 1부터 n을 반복문을 통해 출력해주면 된다. #풀이 #include int main(){ int n; scanf("%d",&n); for(int i=1;i
#문제 11725번: 트리의 부모 찾기 https://www.acmicpc.net/problem/11725 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. www.acmicpc.net #접근방법 루트가 1인 트리에서 n-1개의 엣지가 주어질 때, 2 ~ n번 노드의 부모를 찾는 문제이다. 두 노드를 입력 받을 때, 두 노드가 서로 연결되어 있다는 표시를 하고 dfs(깊이 우선 탐색)으로 각 노드의 부모를 구해주면 된다. #풀이 #include #include using namespace std; vector v[100005]; int ans[100005]={1}; void dfs(int x){ for(..
#문제 2739번: 구구단 https://www.acmicpc.net/problem/2739 2739번: 구구단 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. www.acmicpc.net #접근방법 구구단을 반복문을 통해 출력해주면 된다. #풀이 #include int main(){ int n; scanf("%d",&n); for(int i=1;i
#문제 2675번: 문자열 반복 https://www.acmicpc.net/problem/2675 2675번: 문자열 반복 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다 www.acmicpc.net #접근방법 문자열을 반복문을 통해 출력해주면 되는 문제이다. #풀이 #include using namespace std; int main(){ int T,R; string S; cin >> T; while(T--){ cin >> R >> S; for(int i=0;i
#문제 2577번: 숫자의 개수 https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. www.acmicpc.net #접근방법 세 개의 자연수를 곱한 값을 반복문을 통해 10으로 계속 나누어 주면서 10으로 나눈 나머지의 숫자를 세주면 된다. #풀이 #include int arr[10]; int main(){ int A,B,C; int num; scanf("%d %d %d",&A,&B,&C); num = A*B*C; for(int i=num;i>0;i/=10) arr[i%10]++; for(int i=0;i
#문제 2562번: 최댓값 https://www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net #접근방법 서로 다른 9개의 자연수를 입력 받고 최댓값을 구할 때, 몇 번째 수인지도 같이 구하면 된다. #풀이 #include int main(){ int max = 0; int index = 0; int x; for(int i=1;i
#문제 11053번: 가장 긴 증가하는 부분 수열 https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net #접근방법 수열에서 가장 긴 증가하는 부분 수열을 구하려면 이중 반복문을 돌면서 동적계획법으로 풀면 된다. #풀이 #include int arr[1005]; int dp[1005]; int main(){ int n; int ans = 0; scanf("%d",&n); f..