Nodejs 3

[알고리즘] 백준 15992 1, 2, 3 더하기 7

📖문제1, 2, 3 더하기 7❓구상이 문제는 "1, 2, 3 더하기" 문제 시리즈중 7번째 문제다. 앞서 풀어본 "1, 2, 3 더하기" 문제는 모두 Dynamic Programming 알고리즘 유형이였기 때문에 비슷하게 접근을 해보려했다. 하지만, 여태 풀어본 DP 문제는 피보나치수열처럼 단순히 N번째의 DP 값을 구하면 되는 문제였는데 이 문제 같은 경우는 T개의 테스트 케이스개수가 주어지고, 그 아래로 T개의 n, m 의 쌍이 있다. 즉, 여태 풀어본 DP 문제는 n 과 m 이 주어지는게 아닌 n 이 주어져서 n번째 DP 값을 구하면 되는 문제였는데, 이번에는 1, 2 ,3 을 이용해 만들 수 있는 n의 갯수 + 1, 2, 3 숫자 m 개를 사용해서 n이 되도록 하는 문제인것이다. 어떻게 접근하면..

Algorithm 2025.02.20

[알고리즘] 백준 14651 걷다보니 신천역 삼 (Large)

📖문제걷다보니 신천역 삼❓구상N자리수의 숫자에서 0, 1, 2 만 가지고 만들 수 있는 3의 배수의 갯수를 출력해야 하는데 일정 패턴이 있는지 파악을 하면 동적 프로그래밍을 활용하면 문제를 풀 수 있을 것으로 생각된다. 우선, 입력값 N 에 따른 출력 갯수를 파악하기 위해 백트래킹으로 출력값을 파악해보기로 했다. 패턴파악을 위한 백트래킹을 사용한 코드.const result = [];const N = 10;const backTracking = (arr, line) => { if (line.length !== N) { const len = arr.length; for (let i = 0; i !(e % 3)).length % 1000000009);  출력위의 코드로 N이 2, 4, 5, ..

Algorithm 2025.01.02

[알고리즘] 백준 1904 01타일

📖문제01타일  ❓구상패턴의 개수를 파악하는 문제는 작은 규모의 패턴을 파악해서 해결하기 좋은 동적 프로그래밍(Dynamic Programming)계획법으로 풀기 적합한 문제이다.일반적인 이진법이라면 N이 1일때 0과 1을 만들 수 있기 때문에 2가 나와야하지만, 이 문제의 조건을 살펴보면 아래와 같다.1. 이진법을 구성할 때 1과 00의 조합으로만 구성을 해야한다.2. 0은 01 혹은 10 처럼 사용할 수 없고 0이 2개가 붙어있어야한다.주어진 N에 따라 표현될 수 있는 이진법의 종류를 알아보면 패턴을 파악할 수 있을것으로 기대된다. 🎲 패턴N이 1일때 부터 7일때 까지의 패턴을 파악한 결과 피보나치 수열처럼 dp[i] = dp[i-1] + dp[i-2] 의 패턴을 가지고 있음을 알 수 있다.이 것..

Algorithm 2024.12.26