Park DJ
dj0998
Park DJ
전체 방문자
오늘
어제
  • 분류 전체보기 (363)
    • 백준 (363)

공지사항

인기 글

태그

  • 백준 8892
  • 백준 6550
  • 백준 1531
  • 백준 3049
  • 백준 1914
  • 백준 12871
  • 백준 2343
  • 백준 2591
  • 백준 12605
  • 백준 1011
  • 백준 7662
  • 백준 10709
  • 백준 16926
  • 백준 15961
  • Java
  • 백준 15655
  • 백준 2225
  • 백준 1064
  • 백준 14582
  • 백준 2467
  • 백준 7567
  • 백준 24039
  • 백준
  • 백준 16194
  • 백준 3135
  • 백준 4659
  • 백준 1747
  • 자바
  • 백준 1495
  • 백준 15312
hELLO · Designed By 정상우.
Park DJ

dj0998

백준 1316 그룹 단어 제커(Java)
백준

백준 1316 그룹 단어 제커(Java)

2023. 1. 19. 12:49

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

 

1316번: 그룹 단어 체커

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

www.acmicpc.net


 

해석 및 팁

 


 

이 문제는 단어의 개수를 입력받고 단어를 입력하면 총 몇 개의 단어가 그룹 단어인지 출력하는 문제입니다. 따라서 단어 전체의 개수에서 그룹단어가 아닌 경우 롤 빼주면 됩니다. 확인하는 방법은 현재 알파벳과 다음 알파벳이 다를 경우 다음 알파벳이 전체 문장에 없으면 됩니다.

 


 

Java 코드

 


import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    int n = sc.nextInt();
    int count = n;

    for(int i = 0; i < n; i++) {
      int[] arr = new int[26];
      String str = sc.next();
      
      for(int j = 0; j < str.length()-1; j++) {
        if(str.charAt(j) != str.charAt(j+1)) {            //i와 i+1이 다른경우 
          if(arr[str.charAt(j+1) - 'a'] != 0) {           //0이 아니면 앞에서 존재
            count--;                                      //그룹단어가 아니므로 -1
            break;
          }
          else arr[str.charAt(j) - 'a']++;
        }
      }
    
    }
    System.out.println(count);
  }
}

'백준' 카테고리의 다른 글

백준 2751 수 정렬하기 2(Java)  (0) 2023.01.19
백준 2941 크로아티아 알파벳(Java)  (0) 2023.01.19
백준 1978 소수 찾기(Java)  (0) 2023.01.19
백준 4673 셀프 넘버(Java)  (0) 2023.01.19
백준 10769 행복한지 슬픈지(Java)  (0) 2023.01.19
    '백준' 카테고리의 다른 글
    • 백준 2751 수 정렬하기 2(Java)
    • 백준 2941 크로아티아 알파벳(Java)
    • 백준 1978 소수 찾기(Java)
    • 백준 4673 셀프 넘버(Java)
    Park DJ
    Park DJ

    티스토리툴바