1차원 초원에 땅과 공으로 이루어져 있다. 여기에 잡초가 자라 공이 가려졌을 때, 공의 갯수의 최솟값을 구하는 문제이다. 공은 "()" 형태이며 빈 땅은 ".", 잡초는 "|" 이다.
공의 형태를 만들 수 있게 입력이 주어지며, 공이 잡초에 최대한 적게 숨어 있어야 초원에 있는 공의 갯수가 최소가 된다. 즉 "("의 갯수와 "(" 뒤에 있지 않은 ")"의 갯수만 세면 된다는 것이다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
StringBuilder sb = new StringBuilder();
for (int tc = 1; tc <= T; tc++) {
sb.append('#').append(tc).append(' ');
char[] land = br.readLine().toCharArray();
int count = 0;
for(int i=0; i<land.length; i++) {
if(land[i] == '(') count++;
else if(land[i] == ')' && land[i-1] != '(') count++;
}
sb.append(count).append('\n');
}
br.close();
System.out.print(sb);
}
}'알고리즘(백준 등) 공부' 카테고리의 다른 글
| SWEA 14413. 격자판 칠하기 (1) | 2026.05.12 |
|---|---|
| SWEA 14450. 정수 입력기 (0) | 2026.05.11 |
| SWEA 14557. 카드 제거 (0) | 2026.05.10 |
| SWEA 14692. 통나무 자르기 (0) | 2026.05.10 |
| SWEA 15230. 알파벳 공부 (0) | 2026.05.09 |