반응형
안녕하세요. 개발 중인 정주입니다.
오늘은 백준 BOJ - 3986 좋은 단어 문제를 풀었습니다.
목차
Github
문제 링크
https://www.acmicpc.net/problem/3986
풀이
해당 문제는 스택을 이용한 문제입니다.
스택의 top과 들어오는 글자가 같으면 pop, 아니면 push를 합니다.
최종적으로 스택이 비어있으면 좋은 단어, 아니면 좋은 단어가 아닙니다.
전체 코드
import Foundation
let count = Int(readLine()!)!
var stack: [Character] = []
var result: Int = 0
for _ in 0..<count {
stack = []
let input = readLine()!
for s in input {
if let top = stack.last, top == s {
stack.removeLast()
} else {
stack.append(s)
}
}
// print("input: \(input) / stack: \(stack)")
if stack.isEmpty {
result += 1
}
}
print(result)
아직은 초보 개발자입니다.
더 효율적인 코드 훈수 환영합니다!
공감과 댓글 부탁드립니다.
반응형