본문 바로가기

★/알고리즘스터디

baekjoon/10799

- 풀이과정


1. input에서  ' ( ' , ' ) ' 를 나눠서 생각했다.


 어차피 끝에는 무조건 ' ) '가 와야함으로 ' ) '일때 전체 막대기의 갯수를 저장할 수 있도록 해야한다.  


2. ' ( ' 일때는 막대기의 갯수가 증가한다.  레이저로 자를 수 있는 막대기 조각을 저장하는 변수에 이를 더한다.  


3. ' ) ' 일때는 바로 앞이 ' ( ' 일 때와  ' ) ' 일 때로 나눠서 생각한다. 


  이는 1) 레이저로 자르는 경우와 2) 막대기의 끝을 나타내는 경우이다. 이 두 경우에서는 ' ( '로 인해 1씩 증가된 임시적인 막대기 조각의 갯수를 -1 해줘야한다. 


 1)의 경우에 막대기의 끝이 아니라 레이저로 자르는 경우라서 2번에서 잘못더했기 때문에 -1을 해야하고 전체 막대기의 갯수를 저장하는 변수에  저장된


 레이저로 자를 수 있는 막대기 조각의 수를 더한다. 

 

 2)의 경우에는 임시적인 막대기 조각 (레이저로 자를 수 있는 막대기 조각)에 -1를 해주고 ( 레이저로 자를 수 있는 막대기 조각 변수 x 2 를 하지 않도록) 


최종 막대기의 갯수에 바로 1를 더해준다.

' > 알고리즘스터디' 카테고리의 다른 글

baekjoon/2*N 타일링2  (0) 2019.10.15
프로그래머스/2*N 타일링  (0) 2019.10.14
Baekjoon/1934  (0) 2016.03.23
Baekjoon/1753  (0) 2016.03.22