๐ ์๊ณ ๋ฆฌ์ฆ/๋ฐฑ์ค
-
[๋ฐฑ์ค] 14725๋ฒ: ๊ฐ๋ฏธ๊ตด (Node.js)๐ ์๊ณ ๋ฆฌ์ฆ/๋ฐฑ์ค 2025. 4. 17. 13:28
์ ๊ทผ๋ฐฉ์๋ฌธ์ ๋ฅผ ์ดํด๋ณด๋ฉด ์ฐ์ ๊ฐ ๊ฒฝ๋ก๊ฐ ํธ๋ผ์ด ์๋ฃ๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ ธ ์๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. ํธ๋ผ์ด ์๋ฃ๊ตฌ์กฐ๋?๊ฒ์์ ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ํ ์ ์๋๋ก ์ค๊ณ๋ ํธ๋ฆฌ ๊ธฐ๋ฐ ์๋ฃ๊ตฌ์กฐ์ด๋ฉฐ, ์ฃผ๋ก ๋จ์ด ๋ชฉ๋ก์์ ๋จ์ด๋ฅผ ๊ฒ์ํ๊ฑฐ๋ ์๋ ์์ฑ ๊ธฐ๋ฅ, ์ฌ์ ๊ฒ์, ๋ฌธ์์ด ํจํด ๋งค์นญ ๋ฑ์ ์ฌ์ฉ๋ฉ๋๋ค.์ฌ๊ธฐ์ ์ค์ํ ์ ์ ๋ฌธ์์ด์ ํธ๋ฆฌ ํํ๋ก ์ ์ฅํ๊ณ , ๊ณตํต ์ ๋์ฌ๋ฅผ ๊ณต์ ํ์ฌ ์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ์ต์ํํ๋ ๊ฒ์ ๋๋ค. ๊ฐ๋จํ ์ค๋ช ์ผ๋ก ์์ํ์ฌ ๋ค์ ์งํํด๋ณด์๋ฉด, ์ด ๋ฌธ์ ์์ ์๊ตฌํ๋ ์ฃผ์ ์์ ์ ์ ๋ ฅ๋ ๊ฒฝ๋ก๋ฅผ ํธ๋ผ์ด์ ์ฝ์ ํ๋ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด2 KIWI BANANA ๋ KIWI -> BANANA์ ๊ฒฝ๋ก๋ฅผ ๋ง๋๋ ๊ฒ์ผ๋ก KIWI ์๋์ BANANA๊ฐ ์๋ ๊ฒ์ด์ง์. ๊ฒฐ๊ตญ ํธ๋ผ์ด๋ฅผ ์ฌ๊ท์ ์ผ๋ก ํธ์ถํ์ฌ ์์ชฝ depth ๊น์ง..
-
[๋ฐฑ์ค] 24267๋ฒ: ์๊ณ ๋ฆฌ์ฆ ์์ - ์๊ณ ๋ฆฌ์ฆ์ ์ํ ์๊ฐ 6 (Node.js)๐ ์๊ณ ๋ฆฌ์ฆ/๋ฐฑ์ค 2024. 9. 11. 15:24
์ ๊ทผ๋ฐฉ์์ฐ์ ๋ฌธ์ ์ ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ๋ฉด ์๋์ ๊ฐ์ต๋๋ค.MenOfPassion(A[], n) { sum 3์ค for๋ฌธ์ ํตํ ๊ณ์ฐ์ ์ํ ํ์๋ฅผ ๊ตฌํด์ผํ๋๋ฐ, ๋ณ์๊ฐ i, j, k๊ฐ ์์ต๋๋ค.์ด ๊ณผ์ ์์ i ๊ฐ ์ฑ๋ฆฝ์ ํด์ผํ๋ ์ํ์ด๋ฉด์i๊ฐ ๊ณ ์ ์ด ๋๋ฉด, j๋ ๊ทธ๋ค์ ๊ฐ, k๋ j์ ๊ทธ ๋ค์ ๊ฐ์ ๊ณ ๋ฅด๋ ๋ฐฉ์์ ๋๋ค. i๋ 0๋ถํฐ n - 2 ๊น์ง ๋๋๋ค.์ฆ, n - 1๋ฒ ๋ฐ๋ณตํฉ๋๋ค.(0๋ถํฐ n-2๊น์ง๋๊น n-2+1) j๋ i + 1๋ถํฐ n - 1๊น์ง ๋ฐ๋ณตํฉ๋๋ค.i = 0์ด๋ฉด, j๋ 1๋ถํฐ n - 1๊น์ง ๊ฐ์ ๊ฐ์ง๋ฉฐ n - 1๋ฒ ๋ฐ๋ณตํฉ๋๋ค.๊ทธ๋ฆฌ๊ณ i๊ฐ ์ฆ๊ฐํ ์๋ก, j๋ ์ฆ๊ฐํ ๋งํผ ๋ฐ๋ณต์ด ์ค์ด๋ญ๋๋ค. k๋ j + 1๋ถํฐ ์์ํด์ n๊น์ง ๋ฐ๋ณตํฉ๋๋ค.i = 0์ด๋ฉด j = 1์ด๊ณ , k๋ 2๋ถํฐ n๊น์ง ๋ฐ๋ณต..
-
[๋ฐฑ์ค] 24266๋ฒ: ์๊ณ ๋ฆฌ์ฆ ์์ - ์๊ณ ๋ฆฌ์ฆ์ ์ํ ์๊ฐ 5 (Node.js)๐ ์๊ณ ๋ฆฌ์ฆ/๋ฐฑ์ค 2024. 9. 10. 15:05
์ ๊ทผ๋ฐฉ์๋๋ฆ ์ผ์คfor๋ฌธ์ผ๊ฑฐ๋ ํด์ ์ฝ๊ฒ ์๊ฐํ๋๋ฐ, ์๊พธ ํ๋ฆฌ๋๋ผ๊ตฌ์...๐ฐ์ด๊ฑด ์ ํ๋ฆฐ ์ฝ๋์ ๋๋ค.const readline = require("readline");const rl = readline.createInterface({ input: process.stdin, output: process.stdout,});let input = [];rl.on("line", function (line) { input.push(line);}).on("close", function () { // MenOfPassion(A[], n) { // sum ๋ค์ ๋ฌธ์ ๋ฅผ ๋ณด๋ฉฐ, ๋ญ๊ฐ ๋ฌธ์ ์ผ๊น ๋ดค๋๋ ์ต๋๊ฐ์ด 500,000์ผ ๊ฒฝ์ฐ number ํ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๋ ์์ฒญ ํฐ ๊ฐ์ด ๋์ฌ ๊ฒ ๊ฐ๋๋ผ๊ตฌ์. ์..
-
[๋ฐฑ์ค] 24265๋ฒ: ์๊ณ ๋ฆฌ์ฆ ์์ - ์๊ณ ๋ฆฌ์ฆ์ ์ํ ์๊ฐ 4 (Node.js)๐ ์๊ณ ๋ฆฌ์ฆ/๋ฐฑ์ค 2024. 9. 9. 17:35
์ ๊ทผ๋ฐฉ์์ด๋ฒ ๋ฌธ์ ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ํ์๊ฐ3๊ณผ ๋น์ทํด๋ณด์ด์ง๋ง ๋ฐ๋ณต๋ฌธ์ ๋ฒ์๊ฐ ๋ค๋ฆ ๋๋ค.๋ฐ๋ณต๋ฌธ์ ์ ๋ ฅ ํฌ๊ธฐ n์ ๋ํด ์ ํ์ ์ผ๋ก ์คํ๋๋๊ตฐ์. MenOfPassion(A[], n) { sum ์ฐ์ ๋ณด๊ธฐ ์ฝ๊ฒ javascript๋ก ๋ณํํด๋ณด์์ต๋๋ค. ์ธ๋ถ ๋ฐ๋ณต๋ฌธ๊ณผ ๋ด๋ถ ๋ฐ๋ณต๋ฌธ์ผ๋ก ๋๋ ์ ๋ณด๊ฒ ์ต๋๋ค. ์ธ๋ถ ๋ฐ๋ณต๋ฌธi๋ 0๋ถํฐ n-1๋ฒ๊น์ง ๋ฐ๋ณตํฉ๋๋ค.์ด ๋ง์ ์ฆ, ์ฐ๋ฆฌ๊ฐ ์ ์๊ณ ์๋ฏ์ด n๋ฒ ๋ฐ๋ณต์ ์๋ฏธํฉ๋๋ค. ๋ด๋ถ ๋ฐ๋ณต๋ฌธj๋ i+1๋ถํฐ n-1๋ฒ๊น์ง ๋ฐ๋ณตํฉ๋๋ค. i = 0 ์ผ ๋, j๋ 1๋ถํฐ n-1๋ฒ ๋ฐ๋ณตํฉ๋๋ค.i = 1 ์ผ ๋, j๋ 2๋ถํฐ n-1๋ฒ ๋ฐ๋ณตํฉ๋๋ค.i = n-1 ์ผ ๋๋ j = n ์ด๋ฏ๋ก n i = n-2 ์ผ ๋๋ j = n-1 ์ด๋ฏ๋ก ๋ฑ 1๋ฒ ์คํ๋ฉ๋๋ค. ๊ทธ๋ผ j ๋ฃจํ์์ ๋ฐ๋ณต๋๋ ํ์๋ ..
-
[๋ฐฑ์ค] 24264๋ฒ: ์๊ณ ๋ฆฌ์ฆ ์์ - ์๊ณ ๋ฆฌ์ฆ์ ์ํ ์๊ฐ 3 (Node.js)๐ ์๊ณ ๋ฆฌ์ฆ/๋ฐฑ์ค 2024. 9. 9. 13:51
ํ์ด โฐ์ด์คfor๋ฌธ์ ์๊ฐ๋ณต์ก๋์ ๋ํด ๋ค๋ฃจ๊ณ ์์ต๋๋ค.์ด์ค ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ๋ฉด ์๊ฐ๋ณต์ก๋๊ฐ O(n^2)๊ฐ ๋ฉ๋๋ค.=> ์ธ๋ถ ๋ฐ๋ณต๋ฌธ n๋ฒ, ๊ฐ ์ธ๋ถ ๋ฐ๋ณต๋ฌธ๋ง๋ค ๋ด๋ถ ๋ฐ๋ณต๋ฌธ n๋ฒ ์คํconst readline = require("readline");const rl = readline.createInterface({ input: process.stdin, output: process.stdout,});let input = [];rl.on("line", function (line) { input.push(line);}).on("close", function () { // MenOfPassion(A[], n) { // sum ๋ฐฑ์ค 24264๋ฒ ๋งํฌ๐ https://www.acmicpc.net/..
-
[๋ฐฑ์ค] 24263๋ฒ: ์๊ณ ๋ฆฌ์ฆ ์์ - ์๊ณ ๋ฆฌ์ฆ์ ์ํ ์๊ฐ 2 (Node.js)๐ ์๊ณ ๋ฆฌ์ฆ/๋ฐฑ์ค 2024. 9. 9. 13:16
์ ๊ทผ๋ฐฉ์์ด์ ๊ฒ์๊ธ [๋ฐฑ์ค] 24262๋ฒ: ์๊ณ ๋ฆฌ์ฆ ์์ - ์๊ณ ๋ฆฌ์ฆ์ ์ํ ์๊ฐ 1 (Node.js) ์ ๋ง์ฐฌ๊ฐ์ง๋ก์๊ณ ๋ฆฌ์ฆ์ ์๊ฐ ๋ณต์ก๋์ ๋ํด ๋ค๋ฃจ๋ ๊ธฐ์ด๋ฌธ์ ์ด๋ฉฐ ์ ์๋ ์ฝ๋์ ์๊ฐ๋ณต์ก๋๋ฅผ ๋ถ์ํ๋ ๋ฌธ์ ์ ๋๋ค. ์๊ฐ๋ณต์ก๋์ ๋น ์คํ๊ธฐ๋ฒ(Big-O)์ ๋ํ ์งง์ ์ค๋ช ๊ธ์์ด์ ๊ฒ์๊ธ์ ์์ผ๋ ํ์ํ์๋ฉด ํ์ธํ์๋๊ฒ ์ข์ ๊ฒ ๊ฐ์ต๋๋ค๐ ์ด๋ฒ ๋ฌธ์ ๋ํ ์๊ฐ๋ณต์ก๋์ ๊ดํ ๋ฌธ์ ์ด๋ฉฐ, ์ ๋ฒ ๊ฒ์๊ธ์๋ O(1)์ ๋ํ ๋ฌธ์ ์์ง๋ง์ด๋ฒ์๋ for๋ฌธ์ด ๋ค์ด๊ฐ O(n)์ ๋ํ ๋ฌธ์ ์ ๋๋ค. ํ์ด โฐconst readline = require("readline");const rl = readline.createInterface({ input: process.stdin, output: process.stdout,});..
-
[๋ฐฑ์ค] 24262๋ฒ: ์๊ณ ๋ฆฌ์ฆ ์์ - ์๊ณ ๋ฆฌ์ฆ์ ์ํ ์๊ฐ 1 (Node.js)๐ ์๊ณ ๋ฆฌ์ฆ/๋ฐฑ์ค 2024. 9. 9. 11:19
์ ๊ทผ๋ฐฉ์์๊ณ ๋ฆฌ์ฆ์ ์๊ฐ ๋ณต์ก๋์ ๋ํด ๋ค๋ฃจ๋ ๊ธฐ์ด๋ฌธ์ ์ด๋ฉฐ ์ ์๋ ์ฝ๋์ ์๊ฐ๋ณต์ก๋๋ฅผ ๋ถ์ํ๋ ๋ฌธ์ ์ ๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด์ ๊ธฐ๋ณธ์ ์ผ๋ก ์์๋์ ์ผ ํ ๊ฒ์ด 2๊ฐ์ง๊ฐ ์๋๋ฐ,์๊ฐ๋ณต์ก๋์ Big-O ํ๊ธฐ๋ฒ์ ๋๋ค. 1. ์๊ฐ๋ณต์ก๋์๊ณ ๋ฆฌ์ฆ์ด ์ผ๋ง๋ ๋นจ๋ฆฌ ์คํ๋๋์ง๋ฅผ ์ธก์ ํ๋ ๊ธฐ์ค์ ๋๋ค.์ฆ, ์ ๋ ฅ์ ํฌ๊ธฐ(๋ฐ์ดํฐ ์)๊ฐ ์ปค์ง๋ฉด ์๊ณ ๋ฆฌ์ฆ์ด ์ผ๋ง๋ ๋ ๋ง์ ์๊ฐ์ ํ์๋ก ํ๋์ง๋ฅผ ๋ณด๋ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ดlet sum = 0;for(let i=0; i n = 3 ์ด๋ฉด 3๊ฐ์ ์ซ์๋ฅผ ๋ํด์ผ ํ๋ฏ๋ก ์ฐ์ฐ์ด 3๋ฒ ์ผ์ด๋ฉ๋๋ค.n = 1000์ด๋ผ๋ฉด 1000๊ฐ์ ์ซ์๋ฅผ ๋ํด์ผ ํ๋ฏ๋ก ์ฐ์ฐ์ด 1000๋ฒ ์ผ์ด๋ฉ๋๋ค. ์ฆ, ๋ฐฐ์ด์ ํฌ๊ธฐ์ ๋น๋กํด์ ์ฐ์ฐ ํ์๋ ๋์ด๋ฉ๋๋ค.๊ฒฐ๊ตญ ๋ฐฐ์ด์ ํฉ์ ๊ตฌํ ๋, ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ ์ปค์ง์๋ก ๋ ๋ง์ ..
-
[๋ฐฑ์ค] 11659๋ฒ: ๊ตฌ๊ฐ ํฉ ๊ตฌํ๊ธฐ 4 (Node.js)๐ ์๊ณ ๋ฆฌ์ฆ/๋ฐฑ์ค 2024. 9. 5. 14:59
์ ๊ทผ๋ฐฉ์์ฒ์์ ํ๊ธฐ ์์ํ์ ๋๋, ์ฃผ์ด์ง ๋ฐฐ์ด์ a๋ฒ~b๋ฒ๊น์ง ์๋ฅด๊ณ ๋ํ๊ณ ์ฝ์!.... ์ด๋ผ๊ณ ๋๋ฌด ์์ผํ๊ฒ ํ์์์ต๋๋ค.const readline = require("readline");const rl = readline.createInterface({ input: process.stdin, output: process.stdout,});let input = [];rl.on("line", function (line) { input.push(line);}).on("close", function () { const num = input[0].split(" ")[1]; const arr = input[1].split(" ").map(Number); input.splice(0, 2); con..