전체 글(230)
-
11899 - 괄호 끼워넣기
문제https://www.acmicpc.net/problem/11899느낀점기본 적인 스택 문제풀이#include #include #include int main(){ std::string s; std::cin >> s; std::vector stack; int cnt = 0; for (int i = 0; i
2025.02.13 -
단어 뒤집기 2 - 17413
문제https://www.acmicpc.net/problem/17413느낀점문제의 조건을 잘 파악하자풀이#include #include #include std::string reverseString(std::string s){ std::string result = ""; bool flag = false; if (s[0] == '= 0; i--) { if (s[i] == ' ') { flag = true; continue; } result += s[i]; } if (flag) { return..
2025.02.13 -
가장 큰 증가하는 부분 수열 - 11055
문제https://www.acmicpc.net/problem/11055느낀점증가하는 수열에서 각 인덱스까지의 최대합이 몇 인지 담으면 됨풀이#include #include using namespace std;int main(){ int n, answer = 0; cin >> n; vector num_list(n); /** * dp문제를 풀 때, 수열을 어떻게 정의할 것인지 먼저 생각하기 * 이번 문제에서는 증가하는 수열에서 각 인덱스까지의 최대합이 몇 인지 구해야함 */ vector dp(n, 0); for (int i = 0; i > num_list[i]; } for (int i = 0; i maxValue) {..
2025.02.13 -
점프 - 1890
문제https://www.acmicpc.net/problem/1890느낀점dp 문제를 풀 때, 어떻게 배열을 정의할 것인지 먼저 정의하는 것이 좋다. 2차원 배열의 각 좌표에서는 해당 좌표까지 오는데 가능한 경우의 수를 담으면 된다. bfs와 비슷한 사고가 가능풀이#include #include int main(){ int N, elem; std::cin >> N; std::vector> arr; std::vector> dp(N, std::vector(N, 0)); /** * dp문제를 풀 때, 수열을 어떻게 정의할 것인지 먼저 생각하기 * 2차원 배열의 각 좌표에서는 해당 좌표까지 오는데 가능한 경우의 수를 담으면 됨 */ dp[0][0] = 1; ..
2025.02.13 -
주식 - 11501
문제https://www.acmicpc.net/problem/11501느낀점dp, 주식과 같은 문제를 풀 때, 뒤에서 생각해보는 것도 방법이다풀이#include #include int main(){ int T, N, price, base = 0; bool asc; std::vector priceList; std::cin >> T; for (int i = 0; i > N; for (int j = 0; j > price; priceList.push_back(price); } for (int k = N - 1; k >= 0; k--) { if (priceList[k] >= maxValue) ..
2025.02.13 -
한 줄로 서기 - 1138
문제https://www.acmicpc.net/problem/1138느낀점기본 구현 문제이지만, 예외 상황을 생각해주는 게 상당히 어려웠다. 표준 출력을 잘 이용해서 문제를 풀자풀이#include #include int main(){ int N, temp; std::vector answer(N, 0); std::cin >> N; for (int i = 0; i > temp; int cnt = 0; for (int j = 0; j
2025.02.12