-
[Baekjoon Online Judge] 1316번: 그룹 단어 체커문제 풀이/Baekjoon Online Judge 2021. 1. 5. 23:19
1316번: 그룹 단어 체커
그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때
www.acmicpc.net
import java.io.*; import java.util.ArrayList; import java.util.List; public class Baekjoon1316 { static boolean isGroupWord(String word) { List<Character> checked = new ArrayList<>(); Character prevChar = null; for (int j = 0; j < word.length(); j++) { Character curChar = word.charAt(j); if (checked.contains(curChar)) { if (prevChar == curChar) continue; else { return false; } } else { checked.add(curChar); prevChar = curChar; } } return true; } public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(System.out)); int n = Integer.parseInt(bufferedReader.readLine()); int count = n; for (int i = 0; i < n; i++) { String word = bufferedReader.readLine(); if (isGroupWord(word)) continue; else --count; } bufferedWriter.write(String.valueOf(count)); bufferedWriter.flush(); bufferedReader.close(); bufferedWriter.close(); } }
이미 나왔던 문자가 이전 문자인 경우 그룹단어로 인정된다. 만약 이전 값과 같지 않다면 그 단어는 그룹 단어가 아니기 때문에 count 값을 줄인다.
'문제 풀이 > Baekjoon Online Judge' 카테고리의 다른 글
[Baekjoon Online Judge] 10953번: A+B - 6 (0) 2021.01.08 [Baekjoon Online Judge] 2941번: 크로아티아 알파벳 (0) 2021.01.05 [Baekjoon Online Judge] 11719번: 괄호 - 풀이 추가 예정 (0) 2021.01.05 [Baekjoon Online Judge] 11719번: 그대로 출력하기 2 (0) 2021.01.05 [Baekjoon Online Judge] 11721번: 열 개씩 끊어 출력하기 (0) 2021.01.04