[백준 1316] 그룹 단어 체커 JAVA - 데크(Deque) 사용

2024. 11. 8. 14:20·코딩테스트/백준

 

 

 

 


 

 

 

 

처음엔 어떻게 할까 고민하다가

각 알파벳의 개수를 세서 2개 이상인 것만 체크해야 하나..? 생각했는데

그건 너무 복잡할 것 같았다.

 

 

그러다 다시 생각해본 해결책은 바로 데크(Deque)를 사용하는 것

 

문자열 한 줄씩 그룹 단어인지 검사할건데

그 줄 안의 알파벳을 charAt으로 한 개씩 가져온다.

 

가져온 알파벳이 데크에 있는지 확인.

있으면 또 추가적으로 검사할건데

데크의 마지막 알파벳과 현재 검사중인 알파벳이 같다면, 그룹으로 인정

 

다 돌았으면 통과로 인정하여 cnt 증가시킴

 

 

 

 

import java.util.ArrayDeque;
import java.util.Deque;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int n = sc.nextInt();
		String[] arr = new String[n];
		int cnt = 0;
		
		Deque<Character> deque = new ArrayDeque<Character>();
		
		for (int i = 0; i < n; i++) {
			arr[i] = sc.next();
		}
		
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < arr[i].length(); j++) {
				if(deque.contains(arr[i].charAt(j))) {
					if(!deque.getLast().equals(arr[i].charAt(j))) {
						break;
					}
				}
				else {
					deque.add(arr[i].charAt(j));
				}
				if  (j == arr[i].length()-1) {
					cnt++;
				}
			}
			deque.clear();
		}
		System.out.println(cnt);
	}
}

 

 

 

다른 사람들은 어떻게 했는지 궁금해서 찾아봤는데

charAt(문자 - 'a') 로 이전 문자와 인덱스를 비교하여 풀었더라.

 

 

 

 

채점 결과

 

 

 

 

반응형

'코딩테스트 > 백준' 카테고리의 다른 글

[백준 10988] 팰린드롬인지 확인하기  (0) 2024.11.11
[백준 1157] 단어 공부 JAVA - LinkedHashSet, HashMap 사용  (0) 2024.11.09
[백준 7489] 팩토리얼 JAVA  (0) 2024.11.07
[백준 11718] 그대로 출력하기 JAVA  (0) 2024.10.30
[백준 10809] 알파벳 찾기 JAVA  (0) 2024.10.29
'코딩테스트/백준' 카테고리의 다른 글
  • [백준 10988] 팰린드롬인지 확인하기
  • [백준 1157] 단어 공부 JAVA - LinkedHashSet, HashMap 사용
  • [백준 7489] 팩토리얼 JAVA
  • [백준 11718] 그대로 출력하기 JAVA
오은이
오은이
  • 오은이
    오은이 하우스
    오은이
  • 전체
    오늘
    어제
    • 분류 전체보기 (85)
      • 일기 (2)
      • Python (1)
      • Java (4)
      • CS (2)
      • 코딩테스트 (26)
        • 백준 (25)
        • 프로그래머스 (1)
      • 웹 개발 (18)
        • Spring (7)
        • JavaScript (3)
        • WebSquare (5)
        • React (3)
      • DB (5)
        • MySQL (4)
        • Oracle (1)
      • 서버&인프라 (18)
        • Server (5)
        • Cloud (12)
        • Linux (1)
      • 자격증 (9)
        • 정보처리기사 (2)
        • AICE (7)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    백준
    티스토리챌린지
    AICE
    AICE Associate
    cloud DB
    자바
    웹스퀘어
    Associate
    클라우드
    tomcat
    알고리즘
    docker
    톰캣
    클라우드 배포
    리액트
    백준자바
    SpringBoot
    EC2
    Spring
    dockerspring
    docker배포
    AI
    MySQL
    Java
    오블완
    react
    websquare
    머신러닝
    db
    Apache
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
오은이
[백준 1316] 그룹 단어 체커 JAVA - 데크(Deque) 사용
상단으로

티스토리툴바