본문 바로가기
[ 다먹살 ]/- Coding

[백준] 1316 그룹 단어 체커

by 엉망으로살기 2021. 9. 8.
반응형

https://www.acmicpc.net/problem/1316

 

1316번: 그룹 단어 체커

그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때

www.acmicpc.net




문자열 챕터 맨 마지막에 해결한 백준 1316번 그룹 단어 체커 문제 같은경우에는 아스키코드를 이용해서 해결하면 되는 문제였다. 문자열 끗.

 


문제 및 입출력

 


코드

import java.util.Scanner;
import java.util.Arrays;

public class Main
{
     public static void main(String[] args)
     {
         Scanner sc = new Scanner(System.in);
         int t = sc.nextInt();
         int result = t; // 결과
         boolean[] chk = new boolean[26]; // 알파벳별 체크여부

         for(int i=0; i<t; i++)
         {
              String input = sc.next();

              // 문자열 길이가 1이면 묻지도 따지지도 않고 조건만족
              if(input.length()==1)
              {
                  continue;
              }
              else
              {
                  // 조건체크 전 초기값 설정
                  Arrays.fill(chk, false);
                  char lastChar = '0';

                  for(int j=0; j<input.length(); j++)
                  {
                       // 문자열의 체크할 문자값 설정
                       char now = input.charAt(j);
                       int index = now - 97;

                       // 체크할 문자값(input.charAt(j))과 현재 문자값(lastChar) 비교
                       if(lastChar!=now)
                       {
                            // 다를 때는 무조건 현재 문자값을 업데이트
                            lastChar = now;

                            // 문자값이 다르면서 이미 체크한 문자가 있으면 조건만족을 실패한 문자열
                            if(chk[index])
                            {
                                 result--;
                                 break;
                            }
                            // 이미 체크한 문자가 없으면 체크표시
                            else
                            {
                                 chk[index] = true;
                            }
                       }
                  }
              }
         }

         System.out.println(result);
     }
}

 

반응형

'[ 다먹살 ] > - Coding' 카테고리의 다른 글

[백준] 2839 설탕 배달  (0) 2021.09.09
[백준] 2775 부녀회장이 될거야  (0) 2021.09.08
[백준] 4673 셀프넘버  (0) 2021.09.07
[백준] 5622 다이얼  (0) 2021.09.06
[백준] 2908 상수  (0) 2021.09.06

댓글