백준
백준 9012 - java
으엉어엉
2024. 8. 13. 19:27
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