백준
-
[백준 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){ ..
-
[백준] node.js 즉 javascript로 풀기위한 세팅알고리즘/코딩 테스트 2023. 2. 13. 12:37
1. input값 읽어오기 const input = require('fs').readFileSync('/dev/stdin').toStirng().trim().split('\n') 2. 문제에서 주어진 변수 저장하기 const [n,m] = input[0].split(' ').map(Number) 주로 첫 번째 줄에 n개 등등 숫자를 주어지므로 map(Number)를 사용하여 숫자로 저장한다. 참고로 map(v=>v+)보다 속도가 빠르다. 3. 출력값 저장하기 const answer = [] (출력값 배열에 저장) console.log(answer.join('\n')) 매번 출력 가능할 때 console.log를 찍는 것보다 하나의 배열에 값을 저장하고 줄바꿈으로 join하는 것이 시간 효율성이 좋다. 필..
-
[코딩 테스트] 누적합 - 백준 11659 구간 합 구하기 4, 2559 수열, 10986 나머지합알고리즘/코딩 테스트 2023. 1. 27. 14:09
1. 11659 구간 합 구하기 4 수 N개가 주어졌을 때, i번째 수부터 j번째 수까지 합을 구하는 프로그램을 작성하시오. const fs = require('fs'); const path = require('path'); const filePath = process.platform === 'linux' ? '/dev/stdin' : path.join(__dirname, '/구간합.txt'); const input = fs.readFileSync(filePath).toString().trim().split('\n'); //N : arr length M: 횟수 const [N,M] = input[0].split(' ').map(v => +v); const arr = input[1].split(' ').m..