본문 바로가기

알고리즘/탐색3

[백준] 1920번: 수 찾기 (실버 4) - Javascript 풀이 문제 링크https://www.acmicpc.net/problem/1920 구현const fs = require('fs');const input = fs.readFileSync('예제.txt', 'utf8').trim().split('\n'); // 백준 경로:'/dev/stdin'const N = parseInt(input[0]);const arrayA = input[1].split(' ').map(Number).sort((a,b)=> a-b);const M = parseInt(input[2]);const arrayB = input[3].split(' ').map(Number);const result = [];//B의 수가 A에 존재하면 1, 아니면 0//binary searchlet start = 0.. 2025. 3. 20.
[프로그래머스] Lv 2. 게임 맵 최단 거리 - Javascript 풀이 💡 유형: DFS/BFS문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/1844구현상대 팀 진영에 빠르게 도착하는 방법 = 최단 거리 구하기 = BFS- 상하좌우로 이동 가능, 벽이 있는 자리(0)로는 이동 불가능- 게임 맵 좌측 상단인 (1,1) -> 배열 인덱스로 표현하면(0,0)에서 시작, 상대방은 게임 맵 우측 하단(n,m)-> 배열 인덱스로 표현하면 (n-1, m-1) 에 있음- 벽에 가로막혀 상대 팀 진영에 도착할 수 없을 때는 -1 return 1. queue를 활용하여 (0,0)부터 탐색을 시작한다. dist를 통해 이동거리를 저장한다.2. 상,하,좌,우를 확인하고, 1이라면 queue에 넣는다. (dist+1)3. 방문한 .. 2025. 2. 4.
[프로그래머스] Lv 2. 타켓 넘버 - Javascript 풀이 💡 유형: DFS/BFS 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 구현주어진 숫자를 적절히 더하고 빼서 타켓 넘버를 만드는 방법의 수-> 주어진 숫자를 모든 경우의 수로 조합하고, 그 값 === target이면 답에 +1각 숫자에는 +, - 두 가지 경우가 존재한다.각 숫자마다 두 가지 경우 중 하나를 선택하고, 또 두 가지 경우 중 하나를 선택하는 것을 반복 => DFS풀이function solution(numbers, target) { let count = 0; .. 2025. 1. 30.