본문 바로가기
반응형

[프로그래머스]80

[프로그래머스] 멀리 뛰기 C++ 규칙을 찾을 수 있는 dp 문제이다. #include #include using namespace std; long long dp[2001]; long long solution(int n) { dp[1] = 1; dp[2] = 2; for(int i = 3; i 1 n = 2 -> 2 n = 3 -> 3 n = 4 -> 5 n = 5 -> 8 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 1 1 2 2 2 1 2 2 2 1 */ 2024. 3. 23.
[프로그래머스] 피로도 8! = 완탐으로 풀어도 시간초과 안걸린다. next_permutation을 활용해봤는데 어째 더 긴 것 같다? #include #include #include #define MAX(a, b) ((a >= b) ? a : b) #include using namespace std; int max_dungeons = 0; void calculate(int k, vector& permutation, vector& dungeons) { int counter = 0; for(int i = 0; i = dungeons[permutation[i]][0]) { k -= dungeons[permutation[i]][1]; counter++; } else { .. 2024. 3. 22.
[프로그래머스] 리코쳇 로봇 C++ 다시 풀었다. 마찬가지로 이전 코드와 비슷비슷하다! bfs인데 한 방향으로 쭈우욱 가면 된다. #include #include #include using namespace std; bool visit[101][101]; int mx[4] = {-1, 1, 0, 0}; int my[4] = {0, 0, -1, 1}; int bfs(int sx, int sy, int row, int col, vector board) { queue que; // x, y, depth que.push({{sx, sy}, 0}); visit[sx][sy] = true; while(!que.empty()) { int x = que.front().first.first; int y = que.front().first.second; i.. 2024. 3. 22.
[프로그래머스] 숫자 변환하기 C++ 다시 풀었는데, 옛날이랑 똑같이 풀었다 ㅋㅋ #include #include #include using namespace std; bool visit[1000001]; int bfs(int x, int y, int n) { queue que; que.push({x, 0}); visit[x] = true; while(!que.empty()) { int value = que.front().first; int depth = que.front().second; que.pop(); if(value == y) return depth; if(value + n 2024. 3. 22.
반응형