Algorithm/๋ฌธ์ œํ’€์ด

[๋ฐฑ์ค€] 27323๋ฒˆ - ์ง์‚ฌ๊ฐํ˜•(JS)

moaoh 2023. 7. 18. 00:02

 

27323๋ฒˆ: ์ง์‚ฌ๊ฐํ˜•

์ •์ˆ˜ A, B ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์„ธ๋กœ ๊ธธ์ด๊ฐ€ A cm, ๊ฐ€๋กœ ๊ธธ์ด๊ฐ€ B cm ์ธ ์•„๋ž˜์™€ ๊ฐ™์€ ์ง์‚ฌ๊ฐํ˜•์˜ ๋„“์ด๋ฅผ cm2 ๋‹จ์œ„๋กœ ๊ตฌํ•˜์‹œ์˜ค.

www.acmicpc.net

๋ฌธ์ œ

์ •์ˆ˜ A, B ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์„ธ๋กœ ๊ธธ์ด๊ฐ€ A cm, ๊ฐ€๋กœ ๊ธธ์ด๊ฐ€ B cm ์ธ ์•„๋ž˜์™€ ๊ฐ™์€ ์ง์‚ฌ๊ฐํ˜•์˜ ๋„“์ด๋ฅผ cm2 ๋‹จ์œ„๋กœ ๊ตฌํ•˜์‹œ์˜ค.


์ž…๋ ฅ

ํ‘œ์ค€ ์ž…๋ ฅ์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ์ž…๋ ฅ์ด ์ฃผ์–ด์ง„๋‹ค.

AB

์ถœ๋ ฅ

์„ธ๋กœ ๊ธธ์ด๊ฐ€ A cm, ๊ฐ€๋กœ ๊ธธ์ด๊ฐ€ B cm์ธ ์ง์‚ฌ๊ฐํ˜•์˜ ๋„“์ด๋ฅผ cm2 ๋‹จ์œ„๋กœ ๊ตฌํ•˜๊ณ , ๋‹จ์œ„ (cm2)๋ฅผ ์ƒ๋žตํ•˜์—ฌ ์ถœ๋ ฅํ•œ๋‹ค.


์ œํ•œ

  • 1 โ‰ฆ A โ‰ฆ 100.
  • 1 โ‰ฆ B โ‰ฆ 100.
  • A, B ๋Š” ์ •์ˆ˜์ด๋‹ค.

์˜ˆ์ œ ์ž…๋ ฅ 1

2
3

์˜ˆ์ œ ์ถœ๋ ฅ 1

6

์„ธ๋กœ ๊ธธ์ด๊ฐ€ 2 cm, ๊ฐ€๋กœ ๊ธธ์ด๊ฐ€ 3 cm์ธ ์ง์‚ฌ๊ฐํ˜•์˜ ๋„“์ด๋Š” 6 cm2์ด๋ฏ€๋กœ, 6 ์„ ์ถœ๋ ฅํ•œ๋‹ค.

์˜ˆ์ œ ์ž…๋ ฅ 2

100
1

์˜ˆ์ œ ์ถœ๋ ฅ 2

100

์˜ˆ์ œ ์ž…๋ ฅ 3

4
4

์˜ˆ์ œ ์ถœ๋ ฅ 3

16

ํ’€์ด๊ณผ์ •

๋ฌธ์ œ ์ž์ฒด๋Š” ๊ธฐ๋ณธ์ ์ธ a * b๋งŒ ํ•˜๋ฉด ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์˜€์–ด์„œ ์ ‘๊ทผ์ด ์–ด๋ ต์ง€๋Š” ์•Š์•˜์—ˆ๋Š”๋ฐ

์ต์ˆ™ํ•˜์ง€ ์•Š์€ javascript๋กœ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณผ๋ ค๊ณ ํ•˜๋‹ˆ ์ดํ•ดํ•˜๋Š” ๊ณผ์ •์ด ์–ด๋ ค์› ๋˜ ๊ฑฐ ๊ฐ™๋‹ค.

let [a, b] = require("fs").readFileSync('/dev/stdin').toString().trim().split('\n');

์ผ๋‹จ ์ž…๋ ฅ๋ฐ›๋Š” ๋ฐฉ์‹๋ถ€ํ„ฐ ์ชผ๊ฐœ์–ด ํ•˜๋‚˜ํ•˜๋‚˜ ๋ณด์ž๋ฉด

let

๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” var, let, const ์ด๋ ‡๊ฒŒ 3๊ฐ€์ง€๊ฐ€ ์กด์žฌํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.
var์— ๊ฒฝ์šฐ์—๋Š” ํ˜ธ์ด์ŠคํŒ…์ด๋‚˜ ์žฌ์„ ์–ธ ๋“ฑ ์ฝ”๋“œ๋ฅผ ๊ตฌ์„ฑํ•จ์— ์žˆ์–ด์„œ ๋ถˆํŽธํ•œ ๋ถ€๋ถ„๋“ค์ด ๋งŽ์•„์„œ ์‚ฌ์šฉ X
let์€ ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ํ•˜๋Š” ์ง€์—ญ๋ณ€์ˆ˜๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋˜๊ณ 
const์— ๊ฒฝ์šฐ์—๋„ ์„ ์–ธ์ด ๋ ๋•Œ์—๋งŒ ๊ฐ’์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๊ณ  ๊ทธ ์ดํ›„์—๋Š” ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ๊ฐ’์ด๋ผ๊ณ  ํ•˜์—ฌ

์ด๋ฒˆ ๋ฌธ์ œ์—์„œ๋Š” let๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋‹ค.

[a, b]

js์— ๊ฒฝ์šฐ์— 2๊ฐ€์ง€ ๊ฐ’์„ ๋™์‹œ์— ๋ฐ›์œผ๋ ค๋ฉด ๊ด„ํ˜ธ๋กœ ๋ฌถ์–ด์•ผ split์—์„œ a์™€ b์— ๊ฐ’์„ ๋”ฐ๋กœ ๋”ฐ๋กœ ๋‹ด์„ ์ˆ˜๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.

( ๊ด„ํ˜ธ๋กœ ๋ฌถ์ง€์•Š๋Š” ๊ฒฝ์šฐ์—๋Š” b์—๋งŒ [ '4', '4' ] ํ˜•์‹์œผ๋กœ ๊ฐ’์ด ๋“ค์–ด๊ฐ€๊ฒŒ ๋œ๋‹ค. )

require("fs")

require์€ ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ์™ธ๋ถ€ ๋ชจ๋“ˆ์„ ๊ฐ€์ ธ์˜ค๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. c++์˜ include ์™€ ๋น„์Šทํ•œ ๊ฐœ๋…์œผ๋กœ ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

readFileSync('/dev/stdin')

readFileSync์— ๊ฒฝ์šฐ์—๋Š” scanf๋‚˜ std::cin ์—์„œ ํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜๋™์œผ๋กœ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์šฐ๋ฆฌ๊ฐ€ ์ž…๋ ฅํ•˜๋Š” ์ž…๋ ฅ๊ฐ’์˜ ๊ฒฝ์šฐ์—๋Š” ‘/dev/stdin’ ๋ผ๊ณ  ํ•˜๋Š” ์œ„์น˜์— ์ž…๋ ฅ๊ฐ’์ด ๋“ค์–ด๊ฐ€๊ฒŒ ๋˜๋Š”๋ฐ ์ € ํ•จ์ˆ˜์—์„œ ๊ทธ ํŒŒ์ผ์— ์ง์ ‘ ์ ‘๊ทผํ•˜์—ฌ ์ž…๋ ฅ๊ฐ’์„ ๋นผ๋‚ด์–ด ์˜จ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

toString()

์œ„์—์žˆ๋Š” readFileSync(’/div/stdin’)์—์„œ toString()์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์„ ๊ฐ€์ ธ์˜จ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

trim()

๋ฌธ์ž์—ด์— ์žˆ๋Š” ์•ž๋’ค ๊ณต๋ฐฑ์„ ์—†์• ์ฃผ๋Š” ์—ญํ• 

split('\n')

split์— ๋‹ด๊ธด ๋ฌธ์ž ๊ธฐ์ค€์œผ๋กœ ๋ฌธ์ž์—ด์„ ์ž˜๋ผ์ฃผ๋Š” ์—ญํ• 

์œ„์™€ ๊ฐ™์€ ์—ญํ• ๋“ค์ด ๋ชจ์—ฌ์•ผ ์ •์ƒ์ ์œผ๋กœ ์ž…๋ ฅ๊ฐ’์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

๋ฐ›์€ ์ž…๋ ฅ๊ฐ’์€ console.log()๋ฅผ ํ†ตํ•ด์„œ ์ •์ƒ์ ์œผ๋กœ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค.

js๋ผ๋Š” ์–ธ์–ด ์ž์ฒด๊ฐ€ ์›นํŽ˜์ด์ง€์—์„œ ๋Œ์•„๊ฐ€๋Š” ์–ธ์–ด์ด๋‹ค๋ณด๋‹ˆ node๋ฅผ ์„ค์น˜ํ•ด์•ผ node๋ฅผ ํ†ตํ•ด์„œ jsํŒŒ์ผ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

node ํŒŒ์ผ๋ช….js ๋ฅผ ํ†ตํ•ด ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ๊ฐ€๋Šฅ

code

let [a, b] = require("fs").readFileSync('/dev/stdin').toString().trim().split('\n');
console.log(a * b);


ํ›„๊ธฐ

์ฒ˜์Œ์œผ๋กœ js๋กœ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด๋Š” ๊ณ„๊ธฐ์˜€๋‹ค.

์ž…๋ ฅ๋ฐ›๋Š” ํ˜•์‹์ด ๋„ˆ๋ฌด ๋˜ฅ์ด๋‹ค.