Nodejs
-
[백준 2589] 보물섬 - bfs,너비탐색 알고리즘, javascript,nodejs알고리즘/코딩 테스트 2023. 2. 17. 15:17
문제 : https://www.acmicpc.net/problem/2589 2589번: 보물섬 첫째 줄에는 보물 지도의 세로의 크기와 가로의 크기가 빈칸을 사이에 두고 주어진다. 이어 L과 W로 표시된 보물 지도가 아래의 예와 같이 주어지며, 각 문자 사이에는 빈 칸이 없다. 보물 지도의 www.acmicpc.net 알고리즘 : 1. 이 문제는 전형적인 bfs 문제이지만 시작 지점을 모두 검사해보아야 한다. 2. 따라서 2중 for문을 돌면서 거리 탐색을 한다. 문제풀이 : 1. 입력값에서 row와 col, map,dist를 설정한다. const [row , col] = input[0].split(' ').map(Number) const map = input.slice(1).map(v=>v.split('..
-
[백준 7562] 나이트의 이동 - bfs, 너비탐색 알고리즘, javascript, node.js알고리즘/코딩 테스트 2023. 2. 17. 11:46
문제 : https://www.acmicpc.net/problem/7562 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net 알고리즘 : 1. 이 문제는 전형적인 bfs 문제이다. 2. 출발지부터 하나씩 나이트를 이동시켜 최소 횟수를 출력시키면 된다. 3. 횟수를 셀때는 visit[ny][nx] = visit[y][x] + 1 로 설정해서 이동횟수를 설정해야 한다. 문제 풀이 : 1. input 에서 각각의 테스트 별로 n, 현재 위치, 목표 위치를 저장한다. for (let i=0;iArray.from({len..
-
[백준 2606] 바이러스 - dfs , javascript알고리즘/코딩 테스트 2023. 2. 15. 19:45
문제 https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 알고리즘 0. 문제 해석 : 첫 번째 컴퓨터와 연결되어 있는 컴퓨터를 모두 찾는 문제이다 1. set 이용 : 중복되는 컴퓨터가 있을 수 있으니 set을 이용한다. 2. dfs 함수 : 반복되는 동작을 수행한다. 문제 풀이 1. set과 stack에 초기 값을 넣어주고 dfs 함수를 부른다. const set = new Set() let stack = [1] while(stack.length){ ..
-
[백준 14503] 로봇 청소기 - 구현, node.js,javascript알고리즘/코딩 테스트 2023. 2. 14. 18:18
문제 https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 첫째 줄에 방의 크기 $N$과 $M$이 입력된다. $(3 \le N, M \le 50)$ 둘째 줄에 처음에 로봇 청소기가 있는 칸의 좌표 $(r, c)$와 처음에 로봇 청소기가 바라보는 방향 $d$가 입력된다. $d$가 $0$인 경우 북쪽 www.acmicpc.net 로봇 청소기와 방의 상태가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 방은 NXM 크기의 직사각형으로 나타낼 수 있으며, 1×1$1 \times 1$ 크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 벽 또는 빈 칸이다. 청소기는 바라보는 방향이 있으며, 이 방향은 동, 서, 남, 북 중 하나이다..
-
[백준 2444] 별 찍기 7 - node.js, javascript, 2442,2443알고리즘/코딩 테스트 2023. 2. 14. 10:07
문제 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. https://www.acmicpc.net/problem/2444 2444번: 별 찍기 - 7 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net 2442와 2443의 결합이다. 입력 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 5 출력 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. * *** ***** ******* ********* ******* ***** *** * 완성 코드 const input = require('fs').readFileSync('/dev/stdin').toString().trim() *1 const answer = [] //2442 for(let i=1;i0;i--){..
-
[백준 16139] 인간-컴퓨터 상호작용 - 누적합, javascript,node.js알고리즘/코딩 테스트 2023. 2. 13. 13:42
문제: https://www.acmicpc.net/problem/16139 16139번: 인간-컴퓨터 상호작용 첫 줄에 문자열 $S$가 주어진다. 문자열의 길이는 $200,000$자 이하이며 알파벳 소문자로만 구성되었다. 두 번째 줄에는 질문의 수 $q$가 주어지며, 문제의 수는 $1\leq q\leq 200,000$을 만족한다. 세 번째 www.acmicpc.net 알고리즘 : 1. 특정 알파벳 마다 누적합의 개수를 저장하기 위해 map을 이용한다. - map을 사용하지 않고 일일이 누적합을 구할 시 50점을 받게 된다. 2. 누적합의 개수를 구할 때는 map.get을 이용한다. 전체코드 const filePath = require('path').join(__dirname, '/test.txt'); c..