
오늘은 Swift에서 문자열의 괄호가 올바르게 짝지어졌는지 확인하는 방법을 배웠습니다. 이 방법은 스택을 사용하지 않고, for문과 if문을 활용하여 간단하게 구현할 수 있습니다.
변수 초기화:
balance 변수를 0으로 초기화하여 여는 괄호와 닫는 괄호의 균형을 맞춥니다.문자열 순회:
s의 각 문자를 순회합니다.여는 괄호 처리:
'('이면 balance를 1 증가시킵니다.닫는 괄호 처리:
')'이면 balance를 1 감소시킵니다.balance가 0보다 작아지면 닫는 괄호가 더 많다는 뜻이므로 false를 반환합니다.최종 확인:
balance가 0이면 괄호가 올바르게 짝지어져 있으므로 true를 반환합니다.false를 반환합니다.import Foundation
func solution(_ s: String) -> Bool {
var balance = 0
for char in s {
if char == "(" {
balance += 1
} else if char == ")" {
balance -= 1
}
if balance < 0 {
return false
}
}
return balance == 0
}
// 테스트 케이스
print(solution("()()")) // true
print(solution("(())()")) // true
print(solution(")()(")) // false
print(solution("(()(")) // false
balance 변수를 사용하여 여는 괄호와 닫는 괄호의 수를 추적할 수 있습니다.