누룽지맛치킨
어미새의 개발일지
누룽지맛치킨
전체 방문자
오늘
어제
  • 분류 전체보기 (86)
    • 코틀린 (8)
    • 안드로이드 (5)
      • 디자인 (2)
      • 개발 (2)
      • 도구 (1)
    • 피그마 (1)
    • 대외활동 (0)
    • 프로젝트 (0)
    • 백준 (55)
      • JAVA (55)
    • 알고리즘 (3)
    • 클라우드 (5)
    • 스터디 (2)
      • 코테 (2)
    • 자료구조 (5)
    • 컴퓨터 기술 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 안드로이드 디자인
  • 백준 자바 2292번
  • Room version 올리기
  • 클라우드 컴퓨팅
  • 백준 자바
  • 코틀린 인 액션
  • 자바 Priority Queue
  • 코틀린
  • 백준 자바 벌집
  • 백준 자바 수열
  • 백준 자바 누적합
  • 클라우드
  • 백준 자바 2559번
  • Room Migration
  • 안드로이드
  • 코틀린 runBlocking
  • 백준 자바 다이나믹 프로그래밍
  • 백준 자바 정렬
  • 자료구조
  • 알고리즘 조합

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
누룽지맛치킨

어미새의 개발일지

백준/JAVA

[백준/JAVA] 1316번 그룹 단어 체커

2023. 1. 19. 09:16

1. 문제

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

단어 N개를 입력으로 받아 그룹 단어의 개수를 출력하는 프로그램을 작성하시오.

2. 문제 접근

  • 하나의 값을 입력받는다.
  • 그 값만큼 반복해서 단어를 입력 받는다.
  • 입력 받은 단어들 중 그룹 단어의 수를 출력한다.
  • 핵심!
    1) 그룹 단어의 개수를 저장하는 check 변수를 매 단어를 검사할 때 마다 1씩 증가시킨다.
    2) 각 단어의 char 하나씩 접근하며 해당하는 배열의 인덱스의 값을 true로 바꾸고 만약에 이미 그 인덱스의 값이 true인 경우에 앞의 char가 현재 char와 다르면 그룹단어가 아닌것으로 간주하고 check값을 1뺀다.

3. 코드

import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());
        int check = 0;
        String input;
        for(int i=0;i<N;i++) {
            boolean alpha[] = new boolean[26];
            input = br.readLine();
            for(int j=0;j<input.length();j++) {
                if(j>0 && alpha[(int)input.charAt(j)-'a'] && input.charAt(j)!=input.charAt(j-1)) {
                    check--;
                    break;
                }
                alpha[(int)input.charAt(j)-'a'] = true;
            }
            check++;
        }
        System.out.println(check);
    }
}

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

[백준/JAVA] 2839번 설탕 배달  (0) 2023.01.19
[백준/JAVA] 10757번 큰 수 A+B  (0) 2023.01.19
[백준/JAVA] 2941번 크로아티아 알파벳  (0) 2023.01.18
[백준/JAVA] 2908번 상수  (0) 2023.01.18
[백준/JAVA] 단계별로 풀어보기(5단계) 코드 모음  (0) 2023.01.18
    '백준/JAVA' 카테고리의 다른 글
    • [백준/JAVA] 2839번 설탕 배달
    • [백준/JAVA] 10757번 큰 수 A+B
    • [백준/JAVA] 2941번 크로아티아 알파벳
    • [백준/JAVA] 2908번 상수
    누룽지맛치킨
    누룽지맛치킨

    티스토리툴바