[백준 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
오은이
오은이
  • 오은이
    오은이 하우스
    오은이
  • 전체
    오늘
    어제
    • 분류 전체보기 (81)
      • 일기 (2)
      • Python (1)
      • Java (4)
      • CS (2)
      • 코딩테스트 (26)
        • 백준 (25)
        • 프로그래머스 (1)
      • 웹 개발 (17)
        • Spring (6)
        • JavaScript (3)
        • WebSquare (5)
        • React (3)
      • DB (5)
        • MySQL (4)
        • Oracle (1)
      • 서버&인프라 (18)
        • Server (5)
        • Cloud (12)
        • Linux (1)
      • 자격증 (6)
        • 정보처리기사 (1)
        • AICE (5)
  • 블로그 메뉴

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

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바