카테고리 없음
알고리즘 문제
rxo2
2025. 5. 2. 20:04
public class Solution
{
// 함수 정의: 문자열 s를 받아 올바른 괄호인지 판별
public bool solution(string s)
{
int count = 0; // 여는 괄호 '('의 개수를 세기 위한 변수
foreach (char c in s)
{ // 문자열 s의 모든 문자에 대해 반복
if (c == '(')
{
count++; // 여는 괄호면 count 증가
}
else
{
count--; // 닫는 괄호면 count 감소
if (count < 0)
{
// count가 음수라면, 닫는 괄호가 먼저 나왔다는 뜻이므로 올바르지 않음
return false;
}
}
}
// 반복문이 끝난 후 count가 0이면 괄호가 모두 짝지어졌다는 뜻
return count == 0;
}
}
작동 흐름
1. 변수 초기화
- count는 현재까지 짝지어지지 않은 여는 괄호의 수를 나타.
2. 문자 순회
- '('이 나오면 count++
- ')'이 나오면 count--
- 만약 count가 음수가 되면, 여는 괄호 없이 닫는 괄호가 먼저 나온 것이므로 false를 반환.
3.결과 반환
- 문자열을 끝까지 순회한 후 count == 0이면 모든 괄호가 짝이 맞는 것이므로 true,그렇지 않으면 false.