[Node.js/JAVASCRIPT] ๋ฐฑ์ค€ 2577๋ฒˆ ์ˆซ์ž์˜ ๊ฐœ์ˆ˜
ยท
์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ
๋ฌธ์ œ ์„ธ ๊ฐœ์˜ ์ž์—ฐ์ˆ˜ A, B, C๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ A × B × C๋ฅผ ๊ณ„์‚ฐํ•œ ๊ฒฐ๊ณผ์— 0๋ถ€ํ„ฐ 9๊นŒ์ง€ ๊ฐ๊ฐ์˜ ์ˆซ์ž๊ฐ€ ๋ช‡ ๋ฒˆ์”ฉ ์“ฐ์˜€๋Š”์ง€๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค์–ด A = 150, B = 266, C = 427 ์ด๋ผ๋ฉด A × B × C = 150 × 266 × 427 = 17037300 ์ด ๋˜๊ณ , ๊ณ„์‚ฐํ•œ ๊ฒฐ๊ณผ 17037300 ์—๋Š” 0์ด 3๋ฒˆ, 1์ด 1๋ฒˆ, 3์ด 2๋ฒˆ, 7์ด 2๋ฒˆ ์“ฐ์˜€๋‹ค. ํ’€์ด const input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n') .map((x) => Number(x)); const multiplyNum = (input[0] * input[1] * input[2]).toString()...
[Node.js/JavaScript] ๋ฐฑ์ค€ 2908๋ฒˆ ์ƒ์ˆ˜
ยท
Algorithm/๋ฐฑ์ค€(BOJ)
๋ฌธ์ œ ์ƒ๊ทผ์ด์˜ ๋™์ƒ ์ƒ์ˆ˜๋Š” ์ˆ˜ํ•™์„ ์ •๋ง ๋ชปํ•œ๋‹ค. ์ƒ์ˆ˜๋Š” ์ˆซ์ž๋ฅผ ์ฝ๋Š”๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์ˆ˜ํ•™์„ ๋ชปํ•˜๋Š” ์ƒ์ˆ˜๋ฅผ ์œ„ํ•ด์„œ ์ƒ๊ทผ์ด๋Š” ์ˆ˜์˜ ํฌ๊ธฐ๋ฅผ ๋น„๊ตํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ๋‚ด์ฃผ์—ˆ๋‹ค. ์ƒ๊ทผ์ด๋Š” ์„ธ ์ž๋ฆฌ ์ˆ˜ ๋‘ ๊ฐœ๋ฅผ ์น ํŒ์— ์จ์ฃผ์—ˆ๋‹ค. ๊ทธ ๋‹ค์Œ์— ํฌ๊ธฐ๊ฐ€ ํฐ ์ˆ˜๋ฅผ ๋งํ•ด๋ณด๋ผ๊ณ  ํ–ˆ๋‹ค. ์ƒ์ˆ˜๋Š” ์ˆ˜๋ฅผ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๊ณผ ๋‹ค๋ฅด๊ฒŒ ๊ฑฐ๊พธ๋กœ ์ฝ๋Š”๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 734์™€ 893์„ ์น ํŒ์— ์ ์—ˆ๋‹ค๋ฉด, ์ƒ์ˆ˜๋Š” ์ด ์ˆ˜๋ฅผ 437๊ณผ 398๋กœ ์ฝ๋Š”๋‹ค. ๋”ฐ๋ผ์„œ, ์ƒ์ˆ˜๋Š” ๋‘ ์ˆ˜์ค‘ ํฐ ์ˆ˜์ธ 437์„ ํฐ ์ˆ˜๋ผ๊ณ  ๋งํ•  ๊ฒƒ์ด๋‹ค. ๋‘ ์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ƒ์ˆ˜์˜ ๋Œ€๋‹ต์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ํ’€์ด const input = require('fs').readFileSync('/dev/stdin').toString().trim().split(' '); // ๊ฐ๊ฐ์˜ ๋ฌธ์ž..
[JavaScript] input ํƒœ๊ทธ disabled ์†์„ฑ์„ ์ด์šฉํ•œ ๋ฒ„ํŠผ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”
ยท
Frontend/JavaScript
๊ฒฝ๋งค ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋‹ค๋ณด๋‹ˆ ์ƒํ™ฉ์— ๋”ฐ๋ฅธ ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™”๊ฐ€ ํ•„์š”ํ•˜์˜€๊ณ , ์ด๋ฅผ ์œ„ํ•ด ๊ธฐ๋ณธ์ ์ธ ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜๋‹ค. input ํƒœ๊ทธ ๋‚ด์— disabled ์†์„ฑ ์‚ฌ์šฉSee the Pen button disabled by SeongHo-C (@seongho-c) on CodePen. input ํƒœ๊ทธ์— disabled ์†์„ฑ์„ ๋”ฐ๋กœ ๋ช…์‹œํ•˜์ง€ ์•Š์œผ๋ฉด, ๋ฒ„ํŠผ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™” ์ƒํƒœ๊ฐ€ ๋œ๋‹ค.input ํƒœ๊ทธ์— disabled ์†์„ฑ์„ ๋ช…์‹œํ•ด ์ฃผ๋ฉด, ๋ฒ„ํŠผ์€ ๋น„ํ™œ์„ฑํ™” ์ƒํƒœ๊ฐ€ ๋œ๋‹ค. ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™” ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ๋ฒ„ํŠผ์˜ ์ƒํƒœ ๋ณ€๊ฒฝSee the Pen button click disabled by SeongHo-C (@seongho-c) on CodePen. [JAVASCRIPT]const target =..
[JavaScript] ํ˜„์žฌ ์‹œ๊ฐ„๊ณผ ๋น„๊ตํ•ด ๋‚จ์€ ์‹œ๊ฐ„ ๊ตฌํ•˜๊ธฐ(์ผ, ์‹œ, ๋ถ„, ์ดˆ)
ยท
Frontend/JavaScript
ํ˜„์žฌ ์‹œ๊ฐ„๊ณผ ๋งˆ๊ฐ ๊ธฐ๊ฐ„์„ ๋น„๊ตํ•ด ๋‚จ์€ ์‹œ๊ฐ„ ๊ตฌํ•˜๊ธฐfunction remaindTime(endDate) { // ํ˜„์žฌ ์‹œ๊ฐ„์„ ๊ตฌํ•œ๋‹ค. const now = new Date(); // ๋งˆ๊ฐ ๊ธฐ๊ฐ„์„ ๊ฐ€์ ธ์˜จ๋‹ค. const end = new Date(endDate); // ํ˜„์žฌ ์‹œ๊ฐ„์„ ms๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค. const nt = now.getTime(); // ๋งˆ๊ฐ ๊ธฐ๊ฐ„์„ ms๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค. const et = end.getTime(); // ๋งˆ๊ฐ ๊ธฐ๊ฐ„์ด ํ˜„์žฌ ์‹œ๊ฐ„๋ณด๋‹ค ํด ๊ฒฝ์šฐ if (nt  ์ถœ๋ ฅ ๊ฒฐ๊ณผํ˜„์žฌ ์‹œ๊ฐ„: Tue Jul 23 2024 16:09:33 GMT+0900 (Korean Standard Time) ๋‚จ์€ ์‹œ๊ฐ„: 365์ผ 00์‹œ๊ฐ„ 00๋ถ„ 26์ดˆ
[JAVASCRIPT] Fetch API & FormData๋ฅผ ์ด์šฉํ•œ ๋‹ค์ค‘ํŒŒ์ผ ์—…๋กœ๋“œ
ยท
Frontend/JavaScript
โ— ์ƒํ’ˆ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ๋ฅผ ์œ„ํ•œ HTML ์ƒํ’ˆ ์ด๋ฏธ์ง€ ๋“ฑ๋ก ํƒœ๊ทธ์˜ enctype ์†์„ฑ๊ฐ’์€ multipart/form-data๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. โ€ป๋งค์šฐ ์ค‘์š”โ€ป ํƒœ๊ทธ์˜ multiple ์†์„ฑ์€ ์š”์†Œ์— ์‚ฌ์šฉ์ž๊ฐ€ ๋‘˜ ์ด์ƒ์˜ ๊ฐ’์„ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ์Œ์„ ๋ช…์‹œํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ์„ ์—…๋กœ๋“œ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํƒœ๊ทธ์˜ type ์†์„ฑ๊ฐ’์€ file๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. โ— ์ด๋ฒคํŠธ๋ฆฌ์Šค๋„ˆ ์ด์šฉ์„ ์œ„ํ•œ ํƒœ๊ทธ ๋“ฑ๋ก โ— Fetch API & FormData๋ฅผ ์ด์šฉํ•˜์—ฌ ์„œ๋ฒ„์— Request ์ „๋‹ฌ fetch() ํ•จ์ˆ˜๋Š” ์ฒซ๋ฒˆ์งธ ์ธ์ž๋กœ URL, ๋‘๋ฒˆ์งธ ์ธ์ž๋กœ Option ๊ฐ์ฒด๋ฅผ ๋ฐ›๊ณ , Promise ํƒ€์ž…์˜ ๊ฐ์ฒด๋ฅผ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค. URL์€ ํ•„์ˆ˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ž…๋‹ˆ๋‹ค. ๋ฐ˜ํ™˜๋œ ๊ฐ์ฒด๋Š”, API ํ˜ธ์ถœ์ด ์„ฑ๊ณตํ–ˆ์„ ๊ฒฝ์šฐ response ๊ฐ์ฒด๋ฅผ resolveํ•˜๊ณ , ์‹คํŒจํ–ˆ์„ ๊ฒฝ์šฐ error ..
[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 =..
_์„ฑํ˜ธ_
๐ŸŒฑ ์„ฑํ˜ธ ๋ธ”๋กœ๊ทธ