일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 선택알고리즘
- C++
- 힙정렬
- DP
- Median of Medians
- 안드로이드
- 알고리즘
- 프로그래밍
- 계수정렬
- 코딩테스트
- 기수정렬
- 자료구조
- 재귀
- 정렬
- java
- 프로그래밍언어
- 동적계획법
- 버블정렬
- SNS
- 동적프로그래밍
- 다이나믹프로그래밍
- 삽입정렬
- 자바
- 백트래킹
- 정수론
- 선택정렬
- 수학
- 병합정렬
- 백준
- 퀵정렬
- Today
- Total
목록백준 (9)
MODE::CREATIVE

문제 해석 주어진 수열 안에서 가장 긴 증가하는 부분 수열의 길이를 구하는 문제 입니다. 풀이 먼저, 숫자의 개수 N을 입력받습니다. N개의 숫자를 입력받아 numbers 벡터에 저장합니다. lis라는 벡터를 생성하고 첫번째 숫자를 추가합니다. 이 벡터는 가장 긴 증가하는 부분 수열을 저장하는 데 사용됩니다. numbers 벡터의 두 번째 원소부터 마지막 원소까지 순회하며, 현재 숫자가 lis의 마지막 원소보다 크면 lis에 추가합니다. 이는 현재 숫자가 lis에 포함될 수 있음을 의미합니다. 만약 현재 숫자가 lis의 마지막 원소보다 작다면, 현재 숫자가 들어갈 수 있는 lis 내의 위치를 이진 탐색으로 찾아서 그 위치의 값을 현재 숫자로 업데이트합니다. 이는 lis를 최대한 작은 값으로 유지하면서 길..

https://www.acmicpc.net/problem/1918 1918번: 후위 표기식 첫째 줄에 중위 표기식이 주어진다. 단 이 수식의 피연산자는 알파벳 대문자로 이루어지며 수식에서 한 번씩만 등장한다. 그리고 -A+B와 같이 -가 가장 앞에 오거나 AB와 같이 *가 생략되는 등의 www.acmicpc.net 문제 해석 중위 표기식을 후위표기식으로 변환하여 출력하는 문제입니다. 후위 표기식변환은 스택(stack)을 이용합니다. 풀이 각 문자에 대해 다음과 같은 작업을 수행합니다 문자가 문자나 숫자(즉, 피연산자)인 경우, 결과 문자열에 바로 추가합니다. 문자가 여는 괄호 '('인 경우, 이를 스택에 넣습니다. 문자가 닫는 괄호 ')'인 경우, 스택에서 여는 괄호 '('가 나올 때까지 문자를 pop하..

문제 해석 각 슬라이딩 윈도우 크기 내에서 최소값을 출력하는 문제입니다. 풀이 벡터와 덱을 이용해 해결했습니다. 각 D(i)에 대해 다음을 반복합니다. 현재 추가되는 A(i)와 dq.back(덱에서 가장 큰 수)를 비교하여 A(i)가 더 작다면 dq.back을 pop함 A(i)를 인덱스와 함께 back에 추가 dq.front가 윈도우 크기를 벗어났다면 pop함 dq.front를 출력 코드 #include #include #include using namespace std; int main() { //입출력 최적화 ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); //입력부 int n,l; cin >> n >> l; vector a(n); ..