본문 바로가기

분류 전체보기

(116)
#11722 가장 긴 감소하는 부분 수열 https://www.acmicpc.net/problem/11722 11722번: 가장 긴 감소하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열은 A = {10, 30, 10, 20, 20, 10} � www.acmicpc.net #11053번 문제를 이해했다면 굉장히 쉬운 문제!! #include using namespace std; int n; int arr[1001]; int dp[1001]; int ans; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cin >> n; fo..
#11055 가장 큰 증가 부분 수열 https://www.acmicpc.net/problem/11055 11055번: 가장 큰 증가 부분 수열 수열 A가 주어졌을 때, 그 수열의 증가 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가 부분 수� www.acmicpc.net #11053번을 이해했다면 굉장히 쉬운 문제!! 1 100 2 50 60 3 5 6 7 i = 0 1 100 2 50 60 3 5 6 7 i = 1 1 OK 101 2 50 60 3 5 6 7 i = 2 1 OK 101 3 50 60 3 5 6 7 i = 3 1 OK 101 3 OK 53 60 3 5 6 7 i = 4 1 OK 101 3..
#11054 가장 긴 바이토닉 부분 수열* https://www.acmicpc.net/problem/11054 11054번: 가장 긴 바이토닉 부분 수열 첫째 줄에 수열 A의 크기 N이 주어지고, 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1,000) www.acmicpc.net #11053을 먼저 풀고오면 좋다! 바로 풀이 해보자! 간단하게 설명하자면, 0~n-1 인덱스 증가하는 부분 수열을 찾고 n-1 ~ 0 인덱스 증가하는 부분 수열을 찾은 뒤, 두 dp를 더한 값의 최댓값을 구해준다. 이 때 겹치는 부분이 1개가 존재해서 1을 감소시켜주면 끝! 1. Index = 0 ~ n-1 1 5 2 1 4 3 4 5 2 1 1 OK 2 1 1 1 1 1 1 1 1 1 OK 2 2 1 1 1 1 ..
#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 바로 솔루션에 들어가보자! Ex) 10 20 10 30 20 50 10 20 10 30 20 50 초기 값 1 1 1 1 1 1 i = 1 (20) 1 OK (최대) 2 1 1 1 1 i = 2 (10) 1 2 1 1 1 1 i = 3 (30) 1 OK 2 OK (최대) 1 OK 3 1 1 i = 4 (20) 1 OK ..
[자료구조론] Stack - 문제 풀이 두 가지 문제를 풀어보고자 한다. 문제 1. '/' , '\' 두 문자로 이루어진 문자열이 있다. 이 문자열을 mountain이라고 생각해서 '/'은 uphill이고 '\' downhill 이라 정의하자. 올바른 mountain은 항상 '/'로 시작하고 '/'에 대응하는 '\'가 항상 존재한다고 가정한다. Ex) Input > blank 없이 string을 입력 받고 길이는 0 올바른 string이라면 그 mountain의 height를 출력한다. > 그렇지 않다면 0을 출력한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ..
[자료구조론] Stack - FIFO # 개념위주보다는 구현 위주로 작성하겠다! Stack에 주로 쓰이는 함수들 Top Push Pop Peek Empty Full 아! 가장 중요한 initStack (스택 초기화 설정 - make stack empty) How does the stack work? 스택은 top index를 제외하고는 어느 곳도 access할 수 없다. Array based Implementation in C 1 2 3 4 5 6 7 #define Stack_Size 100 typedef int Data; typedef struct{ Data items[Stack_Size]; int top; }Stack; cs 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ..