새소식

Baekjoon

[BaekJoon] 10799 번 쇠막대기 문제 - (nodejs)

  • -
728x90
문제 번호 :  10799

문제 바로가기 https://www.acmicpc.net/problem/10799

 

<<< 문제 내용 >>>

 


 

const fs = require('fs'); const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt'; let input = fs.readFileSync(filePath).toString().trim().split('\n'); input = input[0].split(''); let arr= []; let cnt= 0; for(let i=0; i<input.length; i++){ if(input[i] === '(') arr.push(input[i]); else{ if(input[i-1] === '('){ arr.pop(); cnt += arr.length; }else{ arr.pop(); cnt++; } } } console.log(cnt);

* 처음에 레이저가 한칸 끊길 때 값을 어떻게 해야할지가 굉장히 고민이었다.

 

문제 자체가 어려운 문제는 아닌거 같았지만, 직접 레이저가 닿는 순간과 쇠막대기가 줄어드는 순간의 값들을

 

고려하다보니 쇠막대기가 줄어들 때, 막대기를 1개 추가해주면 된다는 것을 알아차리곤 쉽게 해결할 수 있었다.

 

 

 

 

도움이 되셨다면 공감 부탁드립니다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.