Dolphins의 HelloWorld
Programmers > 코딩테스트 연습 > 스택/큐 > 쇠막대기 본문
문제링크 : https://programmers.co.kr/learn/courses/30/lessons/42585
풀이
이 문제를 풀기위해 스택을 사용하였다.
반복문을 이용해서 주어진 arrangement의 맨 앞부터 끝까지 검사를 하였는데
반복문 안에서 다음과 같은 절차를 수행하였다.
1. 만약 '('과 ')'이 붙어서 나온다면 레이저가 나오는 것이므로
현재 존재하는 쇠막대기의 수를 결과값에 더하였다.
2. 만약 그냥 '('가 나온다면 새로운 쇠막대기가 추가되는 것이므로 스택에 그대로 추가하였다.
3. 만약 그냥 ')'가 나온다면 결과값에 1을 더하고 스택에 들어있는 '(' 하나를 제거해주도록 하였다.
이렇게 한 이유는 만약 한 막대기를 레이저로 2번 잘랐을 때 3토막이 나오는 것을
레이저가 나오는 횟수 2 + 마지막 한 토막 1
이렇게 계산되도록 하기 위함이다.
'Algorithm > Programmers 문제풀이' 카테고리의 다른 글
Programmers > 코딩테스트 연습 > 스택/큐 > 기능개발 (0) | 2018.09.14 |
---|---|
Programmers > 코딩테스트 연습 > 스택/큐 > 다리를 지나는 트럭 (0) | 2018.09.14 |
Programmers > 코딩테스트 연습 > 스택/큐 > 탑 (0) | 2018.09.14 |
Programmers > 코딩테스트 연습 > 스택/큐 > 주식가격 (0) | 2018.09.14 |
Programmers > 코딩테스트 연습 > 해시 > 베스트앨범 (0) | 2018.09.13 |
Comments