백준 알고리즘 10799. 쇠막대기
2024. 3. 8. 22:05ㆍ코딩 테스트/백준
https://www.acmicpc.net/problem/10799
10799번: 쇠막대기
여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저
www.acmicpc.net
전체 코드
def solution(s: str):
count = 0
stack = []
i = 0
while i < len(s):
# 레이저 인경우
if (i + 1) <= len(s) - 1 and s[i] == '(' and s[i + 1] == ')':
if stack:
count += len(stack)
i += 2
# 일반 stick
else:
if s[i] == '(':
stack.append('(')
elif s[i] == ')':
stack.pop()
count += 1
i += 1
return count
s = input()
print(solution(s)
'코딩 테스트 > 백준' 카테고리의 다른 글
백준 9663. N-Queen 문제 (0) | 2024.03.10 |
---|---|
백준 알고리즘 15649. N과 M(1) (0) | 2024.03.08 |
백준 알고리즘 14888. 연산자 끼워넣기 (0) | 2024.03.08 |
백준 알고리즘 3986. 좋은 단어 (0) | 2024.03.08 |
백준 알고리즘 9012. 괄호 (0) | 2024.03.08 |