코딩테스트/백준
[백준 10799번] 쇠막대기
seung_ho_choi.s
2025. 2. 6. 14:59
728x90
https://www.acmicpc.net/problem/10799
message=gets.chomp.to_s
count=0
stack=[]
answer=0
message.each_char do |char|
if message[count]=="("
stack.push("(")
else
stack.pop
if message[count-1] == "("
answer+=stack.size
else
answer+=1
end
end
count+=1
end
puts answer
처음에는 입력을 받을 때부터 스택에 모두 넣고 위에서부터 하나씩 빼면서 해결하려 했지만, 잘 풀리지 않았다.
그래서 문자열을 그대로 받아서, 스택을 활용해 '('일 때는 넣고 ')'일 때는 빼는 방식으로 접근하여 해결했다.
문제가 막힐 때는 다른 접근법을 시도해보자.
728x90