일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 위상 정렬
- JPA
- 문자열
- thymeleaf
- Reversing
- DP
- c++
- web
- error
- 분할 정복
- 시뮬레이션
- CVE
- 최단 경로
- 이분 탐색
- 그리디
- OS
- 백트래킹
- 누적 합
- dynamic debugging
- dfs
- GCP
- 재귀
- Spring
- 데이크스트라
- 맵
- 스택
- 구현
- java
- BFS
- 우선순위 큐
- Today
- Total
목록c++ (3)
hades
🥅 문제https://www.acmicpc.net/problem/9095 🔍 설계1 = 12 = 1 + 1 = 23 = 1 + 1 + 1 = 2 + 1 = 1 + 2 = 34 = 1 + 1 + 1 + 1 = 2 + 1 + 1 = 1 + 2 + 1 = 3 + 1 = 1 + 1 + 2 = 2 + 2 = 1 + 3으로 dp[i] = dp[i-1]+dp[i-2]+dp[i-3]이라는 것을 알 수 있다. dp[0]을 0으로 초기화하면, 1부터 반복문을 시작할 수 있다. 단, 범위를 주의해야 한다. 👊 풀이#include #include using namespace std;int t, n;vector dp(11);int main(void){ dp[0] = 1; for (int i = 1; i = 0) { ..
🥅 문제https://www.acmicpc.net/problem/7662 🔍 설계처음에 min_pq와 max_pq만을 만들어서 D일 때 n이 무엇이냐에 따라 한쪽으로 몰아서 처리하는 방식을 택했는데 시간 초과가 발생했다. 다른 방법을 찾아야 한다. map을 이용하여 개수를 저장하고, D일 때, 삭제를 하기 전, 다른 명령에서 개수가 0이 되었을 수도 있으므로 그 경우를 고려하여 삭제 처리를 해주어야 한다. 예를 들어 D 1이어서 max_pq에서는 삭제했지만, min_pq에서는 삭제할 수 없으므로 반영되지 않았다. 개수만 감소시키고, 삭제하려는 수의 개수가 0일 때, 모두 삭제한다. 👊 풀이#include #include #include using namespace std;char ch;int t, ..
🥅 문제https://www.acmicpc.net/problem/1620 🔍 설계포켓몬들의 이름이 주어지고, 입력이 포켓몬의 이름이면 번호를, 번호이면 포켓몬의 이름을 출력해야 한다. C++에서 string과 int를 연관지으면서도 속도가 빠른 자료구조에는 트리 기반인 map이 있다. map을 활용하여 포켓몬 도감을 만든다. key:value가 이름:번호, 번호:이름인 도감을 두 개 만들어서 해결했다. map 클래스에서 find 함수는 map 안에 전달하는 key 값이 없다면, map.end()를 반환한다. 👊 풀이#include #include #include #include #include using namespace std; int n, m;string name, target;map d..