From fa48e850add107abc50eb5425ffe4ed7b4a7a572 Mon Sep 17 00:00:00 2001 From: lotus Date: Sun, 17 Mar 2024 16:40:52 +0900 Subject: [PATCH 1/3] wip --- src/SangYeop/14501.js | 14 ++++++++++++++ src/SangYeop/example.txt | 15 +++++---------- 2 files changed, 19 insertions(+), 10 deletions(-) create mode 100644 src/SangYeop/14501.js diff --git a/src/SangYeop/14501.js b/src/SangYeop/14501.js new file mode 100644 index 0000000..b05d52b --- /dev/null +++ b/src/SangYeop/14501.js @@ -0,0 +1,14 @@ +const input = require('fs').readFileSync('example.txt').toString().trim().split('\n'); +const n = input.shift() +const stats = input.map(v => v.split(" ").map(Number)) + +let result; + + + + + +if(result === 0) console.log(result); +console.log(result) + +// 어려움: 1. 팀을 나누는 것부터 어렵다. 2. 나눈 팀을 어떻게 순회하면서 계산을 할 것인가 \ No newline at end of file diff --git a/src/SangYeop/example.txt b/src/SangYeop/example.txt index 7e9adfe..8943a7d 100644 --- a/src/SangYeop/example.txt +++ b/src/SangYeop/example.txt @@ -1,10 +1,5 @@ -11 12 2 24 10 -16 1 13 3 25 -6 20 5 21 17 -19 4 8 14 9 -22 15 7 23 18 -5 10 7 16 2 -4 22 8 17 13 -3 18 1 6 25 -12 19 23 14 21 -11 24 9 20 15 \ No newline at end of file +4 +0 1 2 3 +4 0 5 6 +7 1 0 2 +3 4 5 0 \ No newline at end of file From f750c619f8ea7762a58364e7e8e50618f468a675 Mon Sep 17 00:00:00 2001 From: Park Sang Yeop <81801012+lotus0204@users.noreply.github.com> Date: Wed, 20 Mar 2024 00:41:52 +0900 Subject: [PATCH 2/3] =?UTF-8?q?=EB=B0=B1=EC=A4=80=2015649?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/SangYeop/15649.js | 30 ++++++++++++++++++++++++++++++ src/SangYeop/example.txt | 6 +----- 2 files changed, 31 insertions(+), 5 deletions(-) create mode 100644 src/SangYeop/15649.js diff --git a/src/SangYeop/15649.js b/src/SangYeop/15649.js new file mode 100644 index 0000000..fbd5965 --- /dev/null +++ b/src/SangYeop/15649.js @@ -0,0 +1,30 @@ +// const input = require('fs').readFileSync('/dev/stdin').toString().split('\n').slice(0,-1); +const input = require('fs').readFileSync('example.txt').toString().trim().split('\n'); +const NM = input[0].split(" "); +const [n, m] = NM.map(el => Number(el)); + +const sequence = [...Array(m)].fill(0); +const visited = [...Array(n+1)].fill(false); +let result = '' + +function dfs(k) { + if (k === m) { + const arr = []; + for (let i = 0; i < m; i++){ + arr.push(sequence[i]); + } + return result += `${arr.join(' ')}\n`; + } + + for (let i = 1; i <= n; i++){ + if (!visited[i]) { + sequence[k] = i; + visited[i] = true; + dfs(k + 1); + visited[i] = false; + } + } +} + +dfs(0) +console.log(result) \ No newline at end of file diff --git a/src/SangYeop/example.txt b/src/SangYeop/example.txt index 8943a7d..af1e489 100644 --- a/src/SangYeop/example.txt +++ b/src/SangYeop/example.txt @@ -1,5 +1 @@ -4 -0 1 2 3 -4 0 5 6 -7 1 0 2 -3 4 5 0 \ No newline at end of file +4 2 \ No newline at end of file From 4e28181669da0e03c84af04eff90741060f4122e Mon Sep 17 00:00:00 2001 From: lotus Date: Tue, 7 May 2024 21:01:49 +0900 Subject: [PATCH 3/3] wip --- src/SangYeop/10872.js | 13 ++++++++++ src/SangYeop/1152.js | 4 +++ src/SangYeop/14501.js | 4 +-- src/SangYeop/1978.js | 44 +++++++++++++++++++++++++++++++++ src/SangYeop/2588.js | 17 +++++++++++++ src/SangYeop/2869.js | 15 ++++++++++++ src/SangYeop/4344.js | 16 ++++++++++++ src/SangYeop/9012.js | 53 ++++++++++++++++++++++++++++++++++++++++ src/SangYeop/example.txt | 9 +++---- 9 files changed, 167 insertions(+), 8 deletions(-) create mode 100644 src/SangYeop/10872.js create mode 100644 src/SangYeop/1152.js create mode 100644 src/SangYeop/1978.js create mode 100644 src/SangYeop/2588.js create mode 100644 src/SangYeop/2869.js create mode 100644 src/SangYeop/4344.js create mode 100644 src/SangYeop/9012.js diff --git a/src/SangYeop/10872.js b/src/SangYeop/10872.js new file mode 100644 index 0000000..dfed25d --- /dev/null +++ b/src/SangYeop/10872.js @@ -0,0 +1,13 @@ +const input = require('fs').readFileSync('example.txt').toString(); + +function fac(n){ + if(n === 0 || n === 1){ + return 1; + }else{ + return fac(n - 1) * n; + } +} +console.log(fac(input)); + +// const fs = require('fs'); +// const input = parseInt(fs.readFileSync('/dev/stdin').toString().trim()); \ No newline at end of file diff --git a/src/SangYeop/1152.js b/src/SangYeop/1152.js new file mode 100644 index 0000000..3cac615 --- /dev/null +++ b/src/SangYeop/1152.js @@ -0,0 +1,4 @@ +const input = require('fs').readFileSync('example.txt').toString().trim().split(' ') +// readFileSync('/dev/stdin') +if(input[0] === '') console.log(0) +console.log(input.length); diff --git a/src/SangYeop/14501.js b/src/SangYeop/14501.js index b05d52b..af43d79 100644 --- a/src/SangYeop/14501.js +++ b/src/SangYeop/14501.js @@ -9,6 +9,4 @@ let result; if(result === 0) console.log(result); -console.log(result) - -// 어려움: 1. 팀을 나누는 것부터 어렵다. 2. 나눈 팀을 어떻게 순회하면서 계산을 할 것인가 \ No newline at end of file +console.log(result) \ No newline at end of file diff --git a/src/SangYeop/1978.js b/src/SangYeop/1978.js new file mode 100644 index 0000000..fc8c54d --- /dev/null +++ b/src/SangYeop/1978.js @@ -0,0 +1,44 @@ +const input = require('fs').readFileSync('example.txt').toString().trim().split('\n') +// readFileSync('/dev/stdin') +const N = input[0] +const arr = input[1].split(' ').map(v => Number(v)); +let result = 0; +for(let i = 0; i < N; i++){ + const M = arr[i]; + if(M === 0 || M === 1){ + continue; + } + if(M === 2){ + result += 1; + continue; + } + let flag = true; + for(let j = 2; j <= Math.ceil(M / 2); j++){ + if(M % j === 0){ + flag = false; + break; + } + + } + if(flag) result += 1; +} +console.log(result) + +//아예 함수로 빼서 true false로 리턴하는 것 + + +//-------------------------------------------------------- +function p(k) { + if(k < 2) { + return false; + } + var x = Math.floor(Math.sqrt(k)); + for(var i = 2; i <= x; ++i) { + if(k % i === 0) { + return false; + } + } + return true; + } + console.log(require('fs').readFileSync('/dev/stdin').toString().trim().split('\n')[1].split(' ').map(function(e) { return parseInt(e); }).filter(function(e) { return p(e); }).length); + \ No newline at end of file diff --git a/src/SangYeop/2588.js b/src/SangYeop/2588.js new file mode 100644 index 0000000..dbd4928 --- /dev/null +++ b/src/SangYeop/2588.js @@ -0,0 +1,17 @@ +const input = require('fs').readFileSync('example.txt').toString().trim().split('\n'); +// readFileSync('/dev/stdin') +const firstLine = input[0]; +const secondLine = input[1]; +const result = []; +let sum = 0; +for(let i = secondLine.length - 1; i >= 0; i--) { + result.push(firstLine * secondLine[i]) +} + +for(let i = 0; i < result.length; i++){ + console.log(result[i]) + sum += result[i] * (10**i) + if(i === result.length - 1){ + console.log(sum); + } +} \ No newline at end of file diff --git a/src/SangYeop/2869.js b/src/SangYeop/2869.js new file mode 100644 index 0000000..a154870 --- /dev/null +++ b/src/SangYeop/2869.js @@ -0,0 +1,15 @@ +const input = require('fs').readFileSync('example.txt').toString().trim().split(' ') +// readFileSync('/dev/stdin') +const distanceOfDay = Number(input[0]); +const distanceOfNight = Number(input[1]); +const totalDistance = Number(input[2]); + +const a = distanceOfDay - distanceOfNight; +const b = totalDistance % a; +const c = Math.floor(totalDistance / a); +if(b === 0){ + console.log(c - distanceOfNight) +} else { + console.log(c + distanceOfNight) +} + diff --git a/src/SangYeop/4344.js b/src/SangYeop/4344.js new file mode 100644 index 0000000..1345e78 --- /dev/null +++ b/src/SangYeop/4344.js @@ -0,0 +1,16 @@ +const input = require('fs').readFileSync('example.txt').toString().trim().split('\n'); +const testCase = Number(input[0]); +for(let i = 1; i <= testCase; i++){ + const test = input[i].split(' '); + const numberOfTest = test[0]; + const arr = test.slice(1, test.length) + const numberArr = arr.map(v => Number(v)); + const sum = numberArr.reduce((acc, cur) => {return acc + cur}, 0); + const average = sum / numberOfTest; + const filteredArr = numberArr.filter(v => v > average); + console.log((filteredArr.length / numberOfTest * 100).toFixed(3)+'%') +} + +const arr = [1,2,3,4,5,6] +console.log('aaaaa', arr.slice(-3)) +console.log('bbbbbb', arr) \ No newline at end of file diff --git a/src/SangYeop/9012.js b/src/SangYeop/9012.js new file mode 100644 index 0000000..5906157 --- /dev/null +++ b/src/SangYeop/9012.js @@ -0,0 +1,53 @@ +const input = require('fs').readFileSync('example.txt').toString().trim().split('\n') +const N = parseInt(input[0]); +const ps = input.slice(1) + +for(let i = 0; i < N; i++){ + const stack = []; + const ps1 = ps[i].split(''); + for(let j = 0; j < ps1.length; j++){ + if(stack.length === 0){ + if(ps1[j] === ')'){ + stack.push(1); + break; + } else { + stack.push(ps1[j]); + } + } else if(stack[stack.length-1] === ps1[j]){ + stack.push(ps1[j]); + } else { + stack.pop(ps1[j-1]); + } + } + if(stack.length === 0){ + console.log('YES'); + }else{ + console.log('NO'); + } +} + +//-------------------- +// input의 문제일 수도 +// var fs = require('fs'); +// var input = fs.readFileSync('/dev/stdin').toString().split('\n'); +// function test(str) { +// var stack = []; +// var flag = 0; +// for (var j = 0; j < str.length; j++) { +// if (str[j] === '\(') { +// stack.push(str[j]); +// } +// else if (str[j] === '\)') { +// if (stack.length === 0) { +// return false; +// } +// else stack.pop(); +// } +// } +// if (stack.length == 0) return true; +// return false; +// }; +// for (var i = 1; i <= parseInt(input[0]); i++) { +// if (test(input[i])) console.log("YES"); +// else console.log("NO"); +// } diff --git a/src/SangYeop/example.txt b/src/SangYeop/example.txt index 8943a7d..f9b1cc9 100644 --- a/src/SangYeop/example.txt +++ b/src/SangYeop/example.txt @@ -1,5 +1,4 @@ -4 -0 1 2 3 -4 0 5 6 -7 1 0 2 -3 4 5 0 \ No newline at end of file +3 +(( +)) +())(() \ No newline at end of file