Notice
Recent Posts
Recent Comments
Link
ยซ   2024/09   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
๊ด€๋ฆฌ ๋ฉ”๋‰ด

Lennon FE

[๋ฐฑ์ค€ 1541๋ฒˆ] ์žƒ์–ด๋ฒ„๋ฆฐ ๊ด„ํ˜ธ - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(nodejs) ๋ณธ๋ฌธ

๐Ÿ”ฅ Algorithm/Baekjoon

[๋ฐฑ์ค€ 1541๋ฒˆ] ์žƒ์–ด๋ฒ„๋ฆฐ ๊ด„ํ˜ธ - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(nodejs)

Lennon 2022. 2. 15. 02:45
728x90
๋ฐ˜์‘ํ˜•

https://www.acmicpc.net/problem/1541

 

1541๋ฒˆ: ์žƒ์–ด๋ฒ„๋ฆฐ ๊ด„ํ˜ธ

์ฒซ์งธ ์ค„์— ์‹์ด ์ฃผ์–ด์ง„๋‹ค. ์‹์€ ‘0’~‘9’, ‘+’, ๊ทธ๋ฆฌ๊ณ  ‘-’๋งŒ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ๊ฐ€์žฅ ์ฒ˜์Œ๊ณผ ๋งˆ์ง€๋ง‰ ๋ฌธ์ž๋Š” ์ˆซ์ž์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฐ์†ํ•ด์„œ ๋‘ ๊ฐœ ์ด์ƒ์˜ ์—ฐ์‚ฐ์ž๊ฐ€ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๊ณ , 5์ž๋ฆฌ๋ณด๋‹ค

www.acmicpc.net

const input = require('fs').readFileSync('dev/stdin').toString().trim().split('-');

function sumValue(arr) {
  if (!arr.length) return 0;
  return +arr.split('+').reduce((pre, cur) => +pre + +cur);
}

console.log(input.reduce((prev, cur) => prev - sumValue(cur), sumValue(input[0]) * 2));

์•Œ๋‹ค์‹œํ”ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—๋Š” eval()์ด๋ผ๋Š” ์•„์ฃผ ์ข‹์€ ํ•จ์ˆ˜๊ฐ€ ์žˆ๋‹ค.

eval('50+50')์€ ์•ˆ์˜ ๊ด„ํ˜ธ๋ฅผ ๊ณ„์‚ฐํ•ด '100'์„ ๋ฆฌํ„ดํ•ด์ค€๋‹ค. ํ•ด๋‹น ๋ฌธ์ œ์— ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ ๊ณ„์† ํ‹€๋ ธ์Šต๋‹ˆ๋‹ค๊ฐ€ ๋‚˜์˜จ๋‹ค..

์ฐพ์•„๋ณด๋‹ˆ ๋‹ค๋ฅธ ๋ถ„๋“ค๋„ ๊ทธ๋Ÿฐ ๋ถ„๋“ค์ด ๋งŽ์€ ๊ฒƒ ๊ฐ™์•˜๋‹ค. ์ด์œ ๋Š” ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค.

ํŒŒ์ด์ฌ์€ ์•ž์— 0์ด ๋ถ™์€ ์ž…๋ ฅ๊ฐ’์— eval์„ ์‚ฌ์šฉํ•˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋‚˜์˜ค๋Š”๋ฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” eval( ' 0003 + 0003' ) ํ•˜๋ฉด 6์ด ์ด์˜๊ฒŒ ๋‚˜์˜ค๋Š”๋ฐ๋„ ๋ง์ด๋‹ค. 

 

ํ•ด๋‹น ๋ฌธ์ œ๋Š” '-' ๋ฅผ ๊ธฐ์ค€์œผ๋กœ splitํ•˜๊ณ  ์ฒ˜์Œ ๊ฐ’์— ๋‚˜๋จธ์ง€ ๋ฐฐ์—ด๋“ค ๋‚ด๋ถ€๋ฅผ ํ•ฉํ•ด์ฃผ๊ณ  ๋‹ค ๋นผ์ฃผ๋ฉด ๋œ๋‹ค.

ex) 10+20-40+10 => ['10+20', '40+10']  => [30, 50] => -20

 

๊ด„ํ˜ธ์˜ ๊ฐœ์ˆ˜์— ์ œํ•œ์ด ์—†์œผ๋ฏ€๋กœ -๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆ„๋ฉด +๋กœ ๊ตฌ์„ฑ๋œ ๋ฐฐ์—ด์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

ํ•ด๋‹น ๊ฐ’๋“ค์„ ๋‹ค ๋”ํ•ด์ฃผ๊ณ  ๋ฐฐ์—ด์˜ ์ฒซ ๋ฒˆ์งธ ๊ฐ’์—์„œ ๋นผ์ฃผ๋Š” ๊ฒŒ ๊ฐ’์„ ์ตœ์†Œ๋กœ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋ฏ€๋กœ ๋นผ์ฃผ๋ฉด ๋œ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•
Comments