개발/C++ 2

[백준] c++ 1234 - 크리스마스 트리(12ms)

전형적인 경우의 수 나눠서 DP로 푸는 문제다특정 층을 한 색으로만 칠할 때, 두 색으로 칠할 때, 세 색으로 칠할 때로 나눠서 그에 맞게 경우의 수 넣어주고 계산시켜주면 되는 문제최적화하겠답시고 넣어둔 캐싱용 f2, f3(팩토리얼)에 오타 생겨서(1680을 1080으로 집어넣음) 2번이나 틀려놓고 애꿎은 로직만 갈궜던 문제#include #include using namespace std;int N, R, G, B;long f2[6] = {1, 2, 6, 20, 70, 252};long f3[4] = {1, 6, 90, 1680};vector>>> memo;long dfs(int m, int r, int g, int b) { if (r > N >> R >> G >> B; //초기화 me..

개발/C++ 2025.07.01

[백준] c++ 15998 - 카카오 머니 (124ms)

일 시작한 뒤로 한동안 놓고 있던 알고리즘 문제 취미로 교육 기관 들어가 있을 때 들어갔던 스터디 다시 들어가서 풀기로 했다.마냥 전처럼하지는 못하겠지만 그래도 열심히 해보려고 한다.이전까지는 자바로 문제 풀어왔었는데, 언리얼 개발하다보니 cpp로 언어 바꿔서 풀어보려다보니까 좀 익숙하지 못한 점도 있는 것 같다. gcd, 최대공약수를 이용하는 문제numeric include하면 std::gcd 메서드 이용할 수 있다고 들었는데 왜인지 모르겠지만 제대로 안돼서 직접 구현했다.(Rider 쓰던거 썼고 17.0이었는데 안된다 ;ㅅ;)더 최적화하려면 반복문 써서 시간 더 줄일 수도 있을 것 같은데 구현이 간단하고 직관적이여서 구현은 재귀로 했다. 돈을 빼낼 때 경우의 수를 나눠서 생각해서 각각의 경우에 따라 ..

개발/C++ 2025.06.30