[Node.js/JavaScript] ๋ฐฑ์ค€ 1157๋ฒˆ ๋‹จ์–ด ๊ฐœ์ˆ˜
ยท
Algorithm/๋ฐฑ์ค€(BOJ)
๋ฌธ์ œ ์•ŒํŒŒ๋ฒณ ๋Œ€์†Œ๋ฌธ์ž๋กœ ๋œ ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์ง€๋ฉด, ์ด ๋‹จ์–ด์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋œ ์•ŒํŒŒ๋ฒณ์ด ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋‚ด๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋‹จ, ๋Œ€๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๋Š”๋‹ค. ํ’€์ด const input = require('fs').readFileSync('์˜ˆ์ œ.txt').toString().trim().toUpperCase(); // 26์˜ ๊ธธ์ด๋ฅผ ๊ฐ€์ง„ ๋นˆ ๋ฐฐ์—ด์— 0์„ ์ฑ„์›Œ์„œ ๋ฐฐ์—ด ๊ฐ์ฒด ์ƒ์„ฑ const arr = new Array(26).fill(0); // ๋ฌธ์ž A์˜ ์ธ๋ฑ์Šค = 0 (UTF-16 ์ฝ”๋“œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ - 65) for (let i = 0; i < input.length; i++) { arr[input.charCodeAt(i) - 65]++; } // ๋ฐฐ์—ด ์•ˆ์—์„œ ์ตœ๋Œ“๊ฐ’ ์ฐพ๊ธฐ const max =..
[Node.js/JavaScript] ๋ฐฑ์ค€ 10809๋ฒˆ ์•ŒํŒŒ๋ฒณ ์ฐพ๊ธฐ
ยท
Algorithm/๋ฐฑ์ค€(BOJ)
๋ฌธ์ œ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด S๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ๊ฐ์˜ ์•ŒํŒŒ๋ฒณ์— ๋Œ€ํ•ด์„œ, ๋‹จ์–ด์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ์—๋Š” ์ฒ˜์Œ ๋“ฑ์žฅํ•˜๋Š” ์œ„์น˜๋ฅผ, ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋Š” -1์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ํ’€์ด const input = require('fs').readFileSync('์˜ˆ์ œ.txt').toString().trim().split(''); let result = ''; // UTF-16 ์ฝ”๋“œ ์œ ๋‹›์˜ ์‹œํ€€์Šค๋กœ๋ถ€ํ„ฐ a - z ๋ฌธ์ž๋ฅผ ์ƒ์„ฑํ•œ ํ›„ ํ•ด๋‹น ๋ฌธ์ž์˜ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ // ํ•ด๋‹น ๋ฌธ์ž๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด -1์„ ๋ฐ˜ํ™˜ for (let i = 97; i
[Node.js/JavaScript] ๋ฐฑ์ค€ 2908๋ฒˆ ์ƒ์ˆ˜
ยท
Algorithm/๋ฐฑ์ค€(BOJ)
๋ฌธ์ œ ์ƒ๊ทผ์ด์˜ ๋™์ƒ ์ƒ์ˆ˜๋Š” ์ˆ˜ํ•™์„ ์ •๋ง ๋ชปํ•œ๋‹ค. ์ƒ์ˆ˜๋Š” ์ˆซ์ž๋ฅผ ์ฝ๋Š”๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์ˆ˜ํ•™์„ ๋ชปํ•˜๋Š” ์ƒ์ˆ˜๋ฅผ ์œ„ํ•ด์„œ ์ƒ๊ทผ์ด๋Š” ์ˆ˜์˜ ํฌ๊ธฐ๋ฅผ ๋น„๊ตํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ๋‚ด์ฃผ์—ˆ๋‹ค. ์ƒ๊ทผ์ด๋Š” ์„ธ ์ž๋ฆฌ ์ˆ˜ ๋‘ ๊ฐœ๋ฅผ ์น ํŒ์— ์จ์ฃผ์—ˆ๋‹ค. ๊ทธ ๋‹ค์Œ์— ํฌ๊ธฐ๊ฐ€ ํฐ ์ˆ˜๋ฅผ ๋งํ•ด๋ณด๋ผ๊ณ  ํ–ˆ๋‹ค. ์ƒ์ˆ˜๋Š” ์ˆ˜๋ฅผ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๊ณผ ๋‹ค๋ฅด๊ฒŒ ๊ฑฐ๊พธ๋กœ ์ฝ๋Š”๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 734์™€ 893์„ ์น ํŒ์— ์ ์—ˆ๋‹ค๋ฉด, ์ƒ์ˆ˜๋Š” ์ด ์ˆ˜๋ฅผ 437๊ณผ 398๋กœ ์ฝ๋Š”๋‹ค. ๋”ฐ๋ผ์„œ, ์ƒ์ˆ˜๋Š” ๋‘ ์ˆ˜์ค‘ ํฐ ์ˆ˜์ธ 437์„ ํฐ ์ˆ˜๋ผ๊ณ  ๋งํ•  ๊ฒƒ์ด๋‹ค. ๋‘ ์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ƒ์ˆ˜์˜ ๋Œ€๋‹ต์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ํ’€์ด const input = require('fs').readFileSync('/dev/stdin').toString().trim().split(' '); // ๊ฐ๊ฐ์˜ ๋ฌธ์ž..
[Node.js/JavaScript] ๋ฐฑ์ค€ 1152๋ฒˆ ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜
ยท
Algorithm/๋ฐฑ์ค€(BOJ)
๋ฌธ์ œ ์˜์–ด ๋Œ€์†Œ๋ฌธ์ž์™€ ๊ณต๋ฐฑ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ์ด ๋ฌธ์ž์—ด์—๋Š” ๋ช‡ ๊ฐœ์˜ ๋‹จ์–ด๊ฐ€ ์žˆ์„๊นŒ? ์ด๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋‹จ, ํ•œ ๋‹จ์–ด๊ฐ€ ์—ฌ๋Ÿฌ ๋ฒˆ ๋“ฑ์žฅํ•˜๋ฉด ๋“ฑ์žฅํ•œ ํšŸ์ˆ˜๋งŒํผ ๋ชจ๋‘ ์„ธ์–ด์•ผ ํ•œ๋‹ค. ํ’€์ด var fs = require('fs'); // ๋„์–ด์“ฐ๊ธฐ(' ')๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆ„์–ด input ๋ฐฐ์—ด์— ์ €์žฅ var input = fs.readFileSync('/dev/stdin').toString().trim().split(' '); function StringSlice(array) { // ๋ฐฐ์—ด ์•„์ดํ…œ์— ๊ณต๋ฐฑ๋ฌธ์ž('')๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธ! filter ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด ์กฐ๊ฑด์— ๋งž๋Š” ์ƒˆ๋กœ์šด ๋ฐฐ์—ด ์ƒ์„ฑ const str = array.filter((item) => item !== ''); // ๋ฐฐ์—ด์˜ ๊ธธ์ด..
[Node.js/JavaScript] ๋ฐฑ์ค€ 1546๋ฒˆ ํ‰๊ท 
ยท
Algorithm/๋ฐฑ์ค€(BOJ)
๋ฌธ์ œ ์„ธ์ค€์ด๋Š” ๊ธฐ๋ง๊ณ ์‚ฌ๋ฅผ ๋ง์ณค๋‹ค. ์„ธ์ค€์ด๋Š” ์ ์ˆ˜๋ฅผ ์กฐ์ž‘ํ•ด์„œ ์ง‘์— ๊ฐ€์ ธ๊ฐ€๊ธฐ๋กœ ํ–ˆ๋‹ค. ์ผ๋‹จ ์„ธ์ค€์ด๋Š” ์ž๊ธฐ ์ ์ˆ˜ ์ค‘์— ์ตœ๋Œ“๊ฐ’์„ ๊ณจ๋ž๋‹ค. ์ด ๊ฐ’์„ M์ด๋ผ๊ณ  ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜์„œ ๋ชจ๋“  ์ ์ˆ˜๋ฅผ ์ ์ˆ˜/M*100์œผ๋กœ ๊ณ ์ณค๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์„ธ์ค€์ด์˜ ์ตœ๊ณ ์ ์ด 70์ด๊ณ , ์ˆ˜ํ•™์ ์ˆ˜๊ฐ€ 50์ด์—ˆ์œผ๋ฉด ์ˆ˜ํ•™์ ์ˆ˜๋Š” 50/70*100์ด ๋˜์–ด 71.43์ ์ด ๋œ๋‹ค. ์„ธ์ค€์ด์˜ ์„ฑ์ ์„ ์œ„์˜ ๋ฐฉ๋ฒ•๋Œ€๋กœ ์ƒˆ๋กœ ๊ณ„์‚ฐํ–ˆ์„ ๋•Œ, ์ƒˆ๋กœ์šด ํ‰๊ท ์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ํ’€์ด var fs = require('fs'); // ์˜ˆ์ œ.txt ํŒŒ์ผ์„ ์ฝ์–ด์„œ ์ค„๋ฐ”๊ฟˆ์„ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆ„์–ด input ๋ฐฐ์—ด์— ์ €์žฅ var input = fs.readFileSync('์˜ˆ์ œ.txt').toString().trim().split('\n'); // ๋ฌธ์ž์—ด ์ˆซ์ž๋กœ ๋ณ€ํ™˜ Numbe..
[Node.js/JavaScript] ๋ฐฑ์ค€ Node.js๋กœ ์ž…์ถœ๋ ฅ ํ•˜๋Š” ๋ฐฉ๋ฒ•
ยท
Algorithm/๋ฐฑ์ค€(BOJ)
์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ์ฒ˜์Œ ํ’€์–ด๋ณด๊ธฐ ์œ„ํ•ด ๋ฐฑ์ค€ ์‚ฌ์ดํŠธ๋ฅผ ์„ ํƒํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋ฐฑ์ค€์—์„œ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด์„œ๋Š” Node.js๋ฅผ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฒ˜์Œ ๋ฐฑ์ค€ ์‚ฌ์ดํŠธ์—์„œ ํ’€์–ด๋ณด์‹ ๋ถ„๋“ค์€ ์•„์‹œ๊ฒ ์ง€๋งŒ ํ•จ์ˆ˜๋งŒ ๋‹ฌ๋ž‘ ์ ์–ด๋†“๊ณ  ์ œ์ถœํ•˜๋ฉด ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜๊ฐ€ ๋œน๋‹ˆ๋‹ค. ๋ฐฑ์ค€ ์‚ฌ์ดํŠธ์—์„œ๋Š” ๋‹ค๋ฅธ ์‚ฌ์ดํŠธ๋“ค๊ณผ ๋‹ฌ๋ฆฌ ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์„ ์ง์ ‘ํ•ด์ฃผ์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋ฐฑ์ค€์—์„œ Node.js๋กœ ์ž…๋ ฅ์„ ๋ฐ›๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ readline ๋ชจ๋“ˆ๊ณผ fs ๋ชจ๋“ˆ ๋‘๊ฐ€์ง€๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ €๋Š” ๋ฐฑ์ค€ ์‚ฌ์ดํŠธ ๋„์›€๋ง์— ์žˆ๋Š” fs ๋ชจ๋“ˆ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค. (readline ๋ชจ๋“ˆ๋ณด๋‹ค ์ฒ˜๋ฆฌ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.) // fs = ํŒŒ์ผ ์ž…์ถœ๋ ฅ ์ฒ˜๋ฆฌ, 'dev/stdin'ํŒŒ์ผ์—์„œ ์ž…์ถœ๋ ฅ์„ ๊ฐ€์ ธ์™€์„œ ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ์ž˜๋ผ์ค€๋‹ค. var fs = require('fs'); var input =..
_์„ฑํ˜ธ_
'Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (13 Page)