문제 번호 1316번 : 그룹 단어 체커 - JAVA [자바]
728x90
https://www.acmicpc.net/problem/1316
7단계 마지막 문제였습니다. 개인적으로 좀 어려웠던 문제였습니다. 알파벳 배열에 아스키 코드를 이용해서 문제를 해결하는게 조금 어색해서 방향을 못찾고 괜한 for문만 엄청 돌렸었습니다. 결국 https://st-lab.tistory.com/69 를 참고해서 풀었습니다. 감사합니다.
한 이틀은 고민했습니다. 어려웠던 만큼 정리를 조금 하도록 하겠습니다.
1. 바로 전 글자와 현재 글자를 비교해서 다르다면 배열에 true를 입력해주고 전 글자에 현 글자를 입력해 준다.
2. 바로 전 글자와 다른데 해당 알파벳 배열이 이미 true라면 그룹 단어가 아니다.
정답
import java.util.*;
public class Main{
static Scanner sc = new Scanner(System.in);
public static void main(String[] args){
int wordCount = sc.nextInt();
int gwCount = 0;
for(int i = 0; i < wordCount; i++){
if(check() == true){
gwCount++;
}
}
System.out.println(gwCount);
}
public static boolean check(){
boolean[] alp = new boolean[26];
int prv = 0;
String s = sc.next();
for(int i = 0; i < s.length(); i++){
int now = s.charAt(i);
if(prv != now){
if(alp[now - 'a'] == false){
alp[now - 'a'] = true;
prv = now;
}
else{
return false;
}
}
}
return true;
}
}
'알고리즘 > 백준 문제 및 정답' 카테고리의 다른 글
문제 번호 2292번 : 벌집 - JAVA [자바] (0) | 2021.12.27 |
---|---|
문제 번호 1712번 : 손익분기점 - JAVA [자바] (0) | 2021.12.26 |
문제 번호 2941번 : 크로아티아 알파벳 - JAVA [자바] (0) | 2021.12.23 |
문제 번호 5622번 : 다이얼 - JAVA [자바] (2) | 2021.12.23 |
문제 번호 2908번 : 상수 - JAVA [자바] (0) | 2021.12.22 |