diff --git "a/\354\213\240\355\230\234\354\233\220/week5/backjoon_1026.js" "b/\354\213\240\355\230\234\354\233\220/week5/backjoon_1026.js" new file mode 100644 index 0000000..3cae13b --- /dev/null +++ "b/\354\213\240\355\230\234\354\233\220/week5/backjoon_1026.js" @@ -0,0 +1,13 @@ +const fs = require("fs"); +const input = fs.readFileSync(0, "utf8").trim().split("\n"); + +let a = input[1].split(" ").map(Number); +let b = input[2].split(" ").map(Number); + +a.sort((x,y)=> x-y); +b.sort((x,y)=> y-x); +let sum = 0; +for(let i = 0; i < a.length; i++){ + sum += a[i] * b[i]; +} +console.log(sum); \ No newline at end of file diff --git "a/\354\213\240\355\230\234\354\233\220/week5/backjoon_1057.js" "b/\354\213\240\355\230\234\354\233\220/week5/backjoon_1057.js" new file mode 100644 index 0000000..17d9f0b --- /dev/null +++ "b/\354\213\240\355\230\234\354\233\220/week5/backjoon_1057.js" @@ -0,0 +1,13 @@ +const fs = require("fs"); +const input = fs.readFileSync(0, "utf8").trim().split(" ").map(Number); + +let [N, a, b] = input; +let count = 0; + +while (a !== b) { + a = Math.ceil(a / 2); + b = Math.ceil(b / 2); + count++; +} + +console.log(count); \ No newline at end of file diff --git "a/\354\213\240\355\230\234\354\233\220/week5/backjoon_1091.js" "b/\354\213\240\355\230\234\354\233\220/week5/backjoon_1091.js" new file mode 100644 index 0000000..3a9a1c1 --- /dev/null +++ "b/\354\213\240\355\230\234\354\233\220/week5/backjoon_1091.js" @@ -0,0 +1,49 @@ +const fs = require("fs"); +const input = fs.readFileSync(0, "utf8").trim().split("\n"); + +const N = Number(input[0]); +const P = input[1].split(" ").map(Number); +const S = input[2].split(" ").map(Number); + +let cards = Array.from({ length: N }, (_, i) => i); +const start = cards.slice(); + +function check() { + for (let i = 0; i < N; i++) { + if (P[cards[i]] !== i % 3) return false; + } + return true; +} + +function shuffle() { + const next = new Array(N); + for (let i = 0; i < N; i++) { + next[S[i]] = cards[i]; + } + cards = next; +} + +let answer = 0; + +while (true) { + if (check()) { + console.log(answer); + break; + } + + shuffle(); + answer++; + + let same = true; + for (let i = 0; i < N; i++) { + if (cards[i] !== start[i]) { + same = false; + break; + } + } + + if (same) { + console.log(-1); + break; + } +} \ No newline at end of file diff --git "a/\354\213\240\355\230\234\354\233\220/week5/backjoon_1188.js" "b/\354\213\240\355\230\234\354\233\220/week5/backjoon_1188.js" new file mode 100644 index 0000000..deaf4f1 --- /dev/null +++ "b/\354\213\240\355\230\234\354\233\220/week5/backjoon_1188.js" @@ -0,0 +1,16 @@ +const fs = require("fs"); +const input = fs.readFileSync(0, "utf-8").trim().split(" "); + +const N = Number(input[0]); +const M = Number(input[1]); + +function gcd(a, b) { + while (b !== 0) { + let temp = a % b; + a = b; + b = temp; + } + return a; +} + +console.log(M - gcd(N, M)); \ No newline at end of file