반응형
안녕하세요. 개발 중인 정주입니다.
오늘은 백준 BOJ - 3986 좋은 단어 문제를 풀었습니다.
목차
Github
GitHub - jeongju9216/SwiftAlgorithm: 스위프트 알고리즘
스위프트 알고리즘. Contribute to jeongju9216/SwiftAlgorithm development by creating an account on GitHub.
github.com
문제 링크
https://www.acmicpc.net/problem/3986
3986번: 좋은 단어
이번 계절학기에 심리학 개론을 수강 중인 평석이는 오늘 자정까지 보고서를 제출해야 한다. 보고서 작성이 너무 지루했던 평석이는 노트북에 엎드려서 꾸벅꾸벅 졸다가 제출 마감 1시간 전에
www.acmicpc.net
풀이
해당 문제는 스택을 이용한 문제입니다.
스택의 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)
아직은 초보 개발자입니다.
더 효율적인 코드 훈수 환영합니다!
공감과 댓글 부탁드립니다.
반응형