728x90
문제
풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for (int i = 0; i < n; i++) {
String s = sc.nextLine();
int balance = 0;
boolean isValid = true;
for (char c : s.toCharArray()) {
if (c == '(') {
balance++;
} else if (c == ')') {
balance--;
if (balance < 0) {
isValid = false;
break;
}
}
}
if (balance != 0) {
isValid = false;
}
System.out.println(isValid ? "YES" : "NO");
}
sc.close();
}
}
1. 몇개의 문장을 입력 받을 것인지 n으로 입력 받는다.
2. for문을 통해 문장을 입력 받고 이때 balance는 (와 ) 의 개수로 판단될 예정이다. isValid는 true를 기본 값으로 설정한다.
3. 이중 for문을 통해 갯수를 세고 (, ) 개수를 balance를 ++, --로 왔다갔다 한다. 만약 false면 No출력하고 true면 YES를 출력한다.
728x90
'백준' 카테고리의 다른 글
백준 10866 - Java (0) | 2024.08.24 |
---|---|
백준 1158 - Java (0) | 2024.08.24 |
백준 10845 - java (0) | 2024.08.15 |
백준 1406 - java (0) | 2024.08.13 |
백준 1874 - java (0) | 2024.08.13 |