반응형
https://www.acmicpc.net/problem/3986
해당 문제를 풀때, 로직은 맞았지만,
줄바꿈 문자를 처리하지 않아 오류가 발생하였습니다.
밑은 해당 로직입니다 :)
이번 자료구조는 stack을 사용해서 문제를 해결하였습니다.
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
scanner.nextLine(); // 숫자 입력 후 줄바꿈 문자 처리
ArrayList<String> list = new ArrayList<>();
for (int i = 0; i < n; i++) { // n개만 입력 받기
list.add(scanner.nextLine());
}
scanner.close();
int cnt = 0;
for (String s : list) {
Stack<Character> stack = new Stack<>(); // 각 문자열마다 스택 초기화
for (char ch : s.toCharArray()) {
if (!stack.isEmpty() && stack.peek() == ch) {
stack.pop();
} else {
stack.push(ch);
}
}
if (stack.isEmpty()) {
cnt++; // 스택이 비어있으면 "좋은 단어"
}
}
System.out.println(cnt);
}
}
반응형
'Coding Test' 카테고리의 다른 글
CT | 백준 17478번 재귀함수가 뭔가요? (0) | 2024.11.06 |
---|---|
CT | 백준 10799번 쇠막대기 (0) | 2024.10.30 |
CT | 백준 3273번 두 수의 합 (0) | 2024.10.28 |
CT | 백준 1475번 방 번호 (0) | 2024.10.21 |
CT | 백준 2577번 숫자의 개수 (0) | 2024.10.21 |