📢 공지합니다
이 게시글은 메인 페이지에 항상 고정되어 표시됩니다.
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
처음에는 입력을 받을 때부터 스택에 모두 넣고 위에서부터 하나씩 빼면서 해결하려 했지만, 잘 풀리지 않았다.
그래서 문자열을 그대로 받아서, 스택을 활용해 '('일 때는 넣고 ')'일 때는 빼는 방식으로 접근하여 해결했다.
문제가 막힐 때는 다른 접근법을 시도해보자.
[백준 1966번] 프린터 큐 (0) | 2025.02.08 |
---|---|
[백준 17413번] 단어 뒤집기 2 (0) | 2025.02.08 |
[백준 20437번] 문자열 게임 2 (0) | 2025.02.03 |
[백준 1406번] 에디터 (0) | 2025.01.30 |
[백준 20125번] 쿠키의 신체 측정 (0) | 2025.01.29 |