< 문제 분석 및 풀이 방법 >
Backjoon :: 쇠막대기 문제는 Stack 자료구조를 활용해 풀 수 있다.
- 입력 받은 문자열을 하나씩 탐색하면서 ‘(‘ 일때와 ‘)’로 나누어 생각한다.
- ’(‘ 문자라면 Stack에 추가한다.
- ’)’ 문자라면 바로 앞에 ‘(‘ 문자가 오는지 확인한다. (레이저인지 여부를 확인하기 위해)
- 만약 레이저라면 Stack 크기만큼 더해준다. (레이저로 나누면 Stack 크기만큼 레이저 왼쪽에 막대기가 생기기 때문!)
- 만약 막대기 끝이라면 막대기 갯수인 1개를 더해준다. (끝부분 막대기를 더해준다)
< 소스 코드 >
1 |
|