All'alba vincerò

At dawn, I will win!

Algorithm 17

[백준] 1182번: 부분 수열의 합

🛠️ 문제 1182번: 부분 수열의 합  💡 풀이const fs = require('fs');const path = require('path');const input = fs.readFileSync(path.join(__dirname, 'input.txt')).toString().trim().split('\n');const [n, S] = input[0].split(' ').map(Number);const arr = input[1].split(' ').map(Number);let count = 0;function dfs(index, sum) { if (index === n) return; sum += arr[index]; // 부분수열의 합이 S와 같은지 확인 if (sum === S) c..

Algorithm 2024.10.18

[백준] 15651번: N과 M

✏️ 개념 공부  백트래킹(Backtracking)  3주차 개념 정리 | Notion백트래킹(Backtracking)thin-brisket-ae4.notion.site 🛠️ 문제 15651번: N과 M  💡 풀이const fs = require('fs');const path = require('path');const input = fs.readFileSync(path.join(__dirname, 'input.txt')).toString().trim().split(' ');const N = parseInt(input[0]);const M = parseInt(input[1]);const result = [];const sequence = [];// 백트래킹 함수function backtrack(dept..

Algorithm 2024.10.14

[백준] 2178번: 미로 탐색

🛠️ 문제 2178번: 미로 탐색  💡 풀이const fs = require('fs');const path = require('path');const input = fs.readFileSync(path.join(__dirname, 'input.txt')).toString().trim().split('\n');// 입력값 처리const [N, M] = input[0].split(' ').map(Number); // 첫 줄에서 N과 M 값 가져옴const maze = input.slice(1).map(line => line.split('').map(Number)); // 나머지 줄에서 미로 정보 가져옴function bfs(maze, N, M) { const directions = [ [0, 1]..

Algorithm 2024.10.12

[백준] 1697번: 숨바꼭질

🛠️ 문제 1697번: 숨바꼭질  💡 풀이const fs = require('fs');const path = require('path');const inputPath = path.join(__dirname, 'input.txt');const input = fs.readFileSync(inputPath, 'utf-8').trim().split(' ');// 입력값 파싱const [N, K] = input.map(Number);// 값이 올바르게 파싱되었는지 확인if (isNaN(N) || isNaN(K)) { console.error("입력 값이 잘못되었습니다. N과 K를 올바르게 입력하세요."); process.exit(1);}function hideAndSeek(N, K) { if (N ===..

Algorithm 2024.10.11

[백준] 1012번: 유기농 배추

🛠️ 문제 1012번: 유기농 배추  💡 풀이const fs = require('fs');const path = require('path');const input = fs.readFileSync(path.join(__dirname, 'input.txt')).toString().trim().split('\n');function solution(input) { // 첫 번째 값을 테스트 케이스 수 T로, 나머지는 각각의 케이스로 분리 const [T, ...cases] = input; // 상, 하, 좌, 우 방향을 나타내는 배열 const directions = [ [-1, 0], [1, 0], [0, -1], [0, 1] // 위, 아래, 왼쪽, 오른쪽 ]; // DFS 함수: 현재 ..

Algorithm 2024.10.10

[백준] 2667번: 단지 번호 붙이기

🛠️ 문제 2667번: 단지 번호 붙이기  💡 풀이const fs = require('fs');const path = require('path');const input = fs.readFileSync(path.join(__dirname, 'input.txt')).toString().trim().split('\n')const N = parseInt(input[0], 10); // 첫 번째 줄은 지도의 크기 Nconst map = input.slice(1).map((line) => line.split('').map(Number)); // 2차원 배열로 변환function solution(N, map) { const dx = [-1, 1, 0, 0]; // 상, 하, 좌, 우 const dy = [0,..

Algorithm 2024.10.09