본문 바로가기

728x90

BOJ

(77)
BOJ : 1475 방번호 (JS) 소스코드 let fs = require('fs'); const filePath = process.platform === `linux` ? `/dev/stdin` : `예제.txt`; let input = fs.readFileSync(filePath).toString().split('\n'); const c = console.log let str = String(input) let numbers= [0,0,0,0,0,0,0,0,0] let count = 0 for(i of str){ if (i === '9' || i === '6'){ count +=1 if(count %2 !== 0){ numbers[6] +=1 } } else{ numbers[i]+=1 } } const maxValue = Math.ma..
BOJ : 24480_알고리즘 수업 - 깊이 우선 탐색2 (JS) 소스코드 let fs = require('fs'); const filePath = process.platform === `linux` ? `/dev/stdin` : `예제.txt`; let input = fs.readFileSync(filePath).toString().split('\n'); const c = console.log // 정점의 수 N (5 ≤ N ≤ 100,000), 간선의 수 M (1 ≤ M ≤ 200,000), 시작 정점 R (1 ≤ R ≤ N) let N = Number(input[0].split(' ')[0]) let M = Number(input[0].split(' ')[1]) let R = Number(input[0].split(' ')[2]) const dfs = (N, M,..
BOJ : 24479 알고리즘 수업 - 깊이 우선 탐색 1 (JS , nodeJS) 소스코드 let fs = require('fs'); const filePath = process.platform === `linux` ? `/dev/stdin` : `예제.txt`; let input = fs.readFileSync(filePath).toString().split('\n'); const c = console.log // 정점의 수 N (5 ≤ N ≤ 100,000), 간선의 수 M (1 ≤ M ≤ 200,000), 시작 정점 R (1 ≤ R ≤ N) let N = Number(input[0].split(' ')[0]) let M = Number(input[0].split(' ')[1]) let R = Number(input[0].split(' ')[2]) const dfs = (N, M,..
BOJ : 10807 개수세기 (JS) 소스코드 let fs = require('fs'); const filePath = process.platform === `linux` ? `/dev/stdin` : `예제.txt`; let input = fs.readFileSync(filePath).toString().split('\n'); const c = console.log let n = Number(input[0]) let lst = (input[1].split(' ').map(Number)) let answer = Number(input[2]) let count = lst.length for(let i = 0 ; i < n ; i++){ if (answer != lst[i]) { count -=1 } } c(count) 풀이 반복문을 이용해 i..
BOJ : 1789 수들의합 (JS , nodeJS) 소스코드 let fs = require('fs'); const filePath = process.platform === `linux` ? `/dev/stdin` : `예제.txt`; let input = fs.readFileSync(filePath).toString() const c = console.log let n = Number(input) let temp = 0 let count = 0 for(let i = 1 ; n+1 ; i++){ temp += i count +=1 if (temp > input){ count-=1 break } } c(count) 풀이 1에서 부터 n 까지 i를 계속 더하다가 입력값 보다 많아지는 경우, 최대값을 구할 수 있다. 문제 https://www.acmicpc.ne..
BOJ : 1931 회의실 배정 (JS , nodeJS) 소스코드 let fs = require('fs'); const filePath = process.platform === `linux` ? `/dev/stdin` : `예제.txt`; let input = fs.readFileSync(filePath).toString().split('\n'); const c = console.log n = Number(input[0]) let lst = [] for(let i = 1 ; i { return a[0] - b[0] }) lst.sort((a,b) =>{ return a[1] - b[1]..
BOJ : 5557 1학년 (JS) 소스코드 let fs = require('fs'); const filePath = process.platform === `linux` ? `/dev/stdin` : `예제.txt`; let input = fs.readFileSync(filePath).toString().split('\n'); const c = console.log n = Number(input[0]) let lst = input[1].split(' ').map(Number) let dp = [] for(let i = 0 ; i < n+1 ; i++){ dp[i] = [] for(let j = 0 ; j < 21 ; j++){ dp[i][j] = BigInt(0) } } for(i in lst){ if (i == 0){ dp[i][lst[..
BOJ : 2293 동전1 (파이썬 + 자바스크립트) 소스코드 import sys n,m = map(int,sys.stdin.readline().split()) lst = [int(sys.stdin.readline()) for i in range(n)] dp = [0 for i in range(m+1)] dp[0] = 1 for i in lst : for j in range(i,m+1) : if j - i >= 0 : dp[j] += dp[j-i] print(dp[j]) 풀이 우선 동전들을 다 입력 받은 후 동전 별로 m원 까지 가는 dp 테이블을 작성해줍니다. 여기나오는 예제를 예시를 들면 1원들로 먼저 10원까지 dp테이블을 채웁니다. 그러면 1, ... , 1 이 10개인 경우 10원을 구성할 수 있으니 dp[10]에는 1이 들어오게 됩니다. 그 후 ..

728x90