๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

ํ”„์—” ๊ณต๋ถ€/๐Ÿซง ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€

[๋ฐฑ์ค€ 1000] ์ž…์ถœ๋ ฅ ๋จผ์ € ๋ฐ›์•„์˜ค๋Š” ๋ฒ• ์ตํžˆ๊ธฐ, VS๋กœ ์„ธํŒ…ํ•˜๊ธฐ

728x90

์ž…๋ ฅ๋ฐ›์€ ๋‹ค์Œ -> ์—ฐ์‚ฐ ์ถœ๋ ฅ

 

var fs = require('fs');

?

๐Ÿ“Œ fs๋ž€?

https://mayongee.tistory.com/130

 

[NodeJS] FS๋ž€?

Node File System ๋ชจ๋“ˆ ํŒŒ์ผ์‹œ์Šคํ…œ ๋ชจ๋“ˆ์ด๋ž€, ํŒŒ์ผ ์ฒ˜๋ฆฌ์™€ ๊ด€๋ จ๋œ ์ž‘์—…์„ ํ•˜๋Š” ๋ชจ๋“ˆ๋กœ ๋ณดํ†ต FileSystem์„ ์ค„์—ฌ์„œ fs ๋ชจ๋“ˆ์ด๋ผ๊ณ  ์ค„์—ฌ ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ํŒŒ์ผ ์ฝ๊ธฐ - readfile //main.js var fs = require('fs'); // ๋น„๋™๊ธฐ์ 

mayongee.tistory.com

 

 

JS๋กœ  ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด ์ž…์ถœ๋ ฅ์„ ๋ฐ›์•„์˜ค๋Š” ๊ฒƒ๋ถ€ํ„ฐ๊ฐ€ ๋‹ค๋ฅธ ์–ธ์–ด์— ๋น„ํ•ด ๋ณต์žกํ•˜๋‹ค๊ณ  ํ•œ๋‹ค.

https://www.youtube.com/watch?v=myDEDaaOd30 

 

 

โœ” console.log ๋ฅผ ์ด์šฉํ•ด ์ค‘๊ฐ„์ค‘๊ฐ„ ์›ํ•˜๋Š”๋Œ€๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฌธ์ œ๋ฅผ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€ํ•˜๋Š”์ง€ ํ™•์ธํ•ด๋ณด๊ธฐ

โœ” ์—ฐ์Šต์„ ํ†ตํ•ด ์ต์ˆ™ํ•ด์ง€๊ธฐ

 

var input = fs.readFileSync('/dev/stdin').toString().split(' ');

-> fs.readFileSync ๋™๊ธฐ๋กœ ํŒŒ์ผ์„ ์ฝ์–ด์„œ

-> ๋ฌธ์ž๋กœ ๋งŒ๋“  ํ›„

-> ์ŠคํŽ˜์ด์Šค ๋‹จ์œ„๋กœ ์ชผ๊ฐœ์ค€๋‹ค. 

 

 

 

 

๋จผ์ € VS ํŒŒ์ผ์„ ๋งŒ๋“ค์—ˆ๋‹ค. 

์ž…์ถœ๋ ฅ ๋˜๋Š” ๋ฌธ์ž, ์ˆซ์ž๋ฅผ ๋ฐ›์•„์˜ค๋Š” ๋ฌธ์ œ๋“ค์ด ๋งŽ์€ ๊ฒƒ ๊ฐ™๋‹ค. 

 

fs๊ฐ€ ๋ญ”์ง€ ์ž˜ ์ดํ•ด๊ฐ€ ์•ˆ๋ผ์„œ ์–ด๋ ค์› ๋Š”๋ฐ, ์ง์ ‘ ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด๋ณด๊ณ  console.log ํ•ด๋ณด๋‹ˆ ์ดํ•ด๊ฐ€ ๋œ๋‹ค. 

JS ํŒŒ์ผ๊ณผ input์„ ์ž…๋ ฅํ•  ํŒŒ์ผ์ธ input.txt ํŒŒ์ผ์„ ๋งŒ๋“ ๋‹ค. 

nodemon์„ ํ™œ์šฉํ• ๊ฑฐ๋ผ nodemon ๋„ ์„ค์น˜ํ•ด์คŒ. 

 

 
let input = fs.readFileSync('./input.txt');

readFileSync๋Š” input.txt์˜ ํŒŒ์ผ์„ ์ฝ์–ด์˜ค๊ฒ ๋‹ค๋Š” ๋ง. 

์ฝ์–ด์˜จ input์„ console.dir ํ•ด๋ณด๋ฉด

์•„์ง์€ ์“ธ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ž ํ˜•์‹์ด ์•„๋‹ˆ๋‹ค. 

Uint8Array

Uint8Array ํ˜•์‹ํ™” ๋ฐฐ์—ด(TypedArray)์€ ํ”Œ๋žซํผ์˜ ๋ฐ”์ดํŠธ ์ˆœ์„œ๋ฅผ ๋”ฐ๋ฅด๋Š” 8๋น„ํŠธ ๋ถ€ํ˜ธ ์—†๋Š” ์ •์ˆ˜์˜ ๋ฐฐ์—ด์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toString

 

TypedArray.prototype.toString() - JavaScript | MDN

The toString() method returns a string representing the specified array and its elements. This method has the same algorithm as Array.prototype.toString(). TypedArray is one of the typed array types here.

developer.mozilla.org

toString() ๋ฉ”์„œ๋“œ๋Š” ์ง€์ •๋œ ๋ฐฐ์—ด๊ณผ ํ•ด๋‹น ์š”์†Œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. 

์ด ๋ฉ”์„œ๋“œ๋Š” Array.prototype.toString()๊ณผ ๋™์ผํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. 

TypedArray๋Š” ์—ฌ๊ธฐ์„œ ์œ ํ˜•์ด ์ง€์ •๋œ ๋ฐฐ์—ด ์œ ํ˜• ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

 

TypedArray ๊ฐ์ฒด๋Š” Object์˜ toString ๋ฉ”์„œ๋“œ๋ฅผ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. 

TypedArray ๊ฐ์ฒด์˜ ๊ฒฝ์šฐ toString ๋ฉ”์„œ๋“œ๋Š” ๋ฐฐ์—ด์„ ๊ฒฐํ•ฉํ•˜๊ณ  ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ๊ฐ ์œ ํ˜• ๋ฐฐ์—ด ์š”์†Œ๋ฅผ ํฌํ•จํ•˜๋Š” ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ ์ฝ”๋“œ๋Š” ํ˜•์‹ํ™”๋œ ๋ฐฐ์—ด์„ ๋งŒ๋“ค๊ณ  toString์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐ์—ด์„ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

 

 

์Œ ๋ฌดํŠผ ์–˜๋Š” toString()์œผ๋กœ ๊ฐ€๊ณต์„ ํ•œ๋ฒˆ ํ•ด์ฃผ๊ณ  ์‚ฌ์šฉํ•œ๋‹ค.

 

 

input์œผ๋กœ ๋ฐ›์•„์˜จ ์• ๋ฅผ ์ˆซ์ž๋กœ ๋ฐ”๊ฟ”์„œ ์—ฐ์‚ฐ์„ ํ•ด์ค˜์•ผํ•˜๋‹ˆ, 

Number() ๋กœ ๊ฐ์‹ธ์ฃผ๊ฑฐ๋‚˜, +๋ฅผ ๋ถ™์ด๋ฉด ์ž„์˜์ ์œผ๋กœ ์ˆซ์ž๋กœ ํƒ€์ž…์ด ๋ณ€ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.

 

 

input์œผ๋กœ ๋ฐ›์•„์˜จ ๊ฐ’์„ ์ˆซ์ž๋กœ ๋ฐ”๊ฟ”์„œ ์—ฐ์‚ฐํ•˜๋Š” ๊ณผ์ •์ด ์™„์„ฑ๋๋‹ค!

 

728x90
๋ฐ˜์‘ํ˜•