- 풀이과정
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 |