Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 백준 2443
- GitHub 업로드
- C++
- aws lambda 함수
- 백준 알고리즘
- 깃허브 협업
- go .env
- Node.js교과서
- lambda 이름 변경
- 팔로잉 끊기 구현
- 깃허브 clone
- C++ 시간 초과
- node.js
- 람다 함수 이름 변경 안됨
- 라우팅 연결하기
- godotenv
- 열혈 C++
- 람다 함수 이름 변경
- node.js 교과서
- 백준
- 깃허브 복제
- 깃허브 코드 업로드
- 깃허브
- github pull
- C++ Fast I/O
- 깃허브 pull
- go 환경변수
- C++ 입출력
- 출력형식 오류 해결
- http 모듈
Archives
- Today
- Total
만능재주꾼
[백준 1316] 그룹 단어 체커 - JAVA 본문
문제
✏️ 그룹 단어: 단어에 존재하는 모든 문제에 대해 각 문자가 연속해서 나타는 경우를 말한다.
✔️ 그룹단어인 경우 -> ccazzzzbb, kin
✔️ 그룹단어가 아닌 경우 -> aabbbccb (b/c, b가 떨어져서 나타나 문자가 연속되지 않으므로)
입력
- 첫째 줄에 단어의 개수 N (N<=100, N은 자연수)
- 둘째 줄부터는 단어 입력 (단어의 길이 <= 100, 단어는 중복 X)
출력
- 그룹 단어의 개수 출력
코드
import java.util.Scanner;
class GroupWordCheck {
static Scanner sc = new Scanner(System.in);
public static void main(String [] args){
int n = sc.nextInt(); //입력받을 단어 개수
int count = 0;
//문자의 연속 확인하기
for (int i=0;i<n;i++){
if (check() == true) count++;
}
System.out.println(count);
}
public static boolean check(){
boolean [] arr = new boolean[26]; //알파벳 개수만큼 배열 설정
int prev = 0; //이전 문자
String str = sc.next(); //문자열 입력받기
for (int i=0;i<str.length();i++){
int now = str.charAt(i); //문자열 중 i번째 문자
if (prev!=now){ //이전 문자와 현재 문자가 다르면
if (arr[now-'a'] == false){ //해당 알파벳이 처음 등장하면
arr[now-'a'] = true;
prev = now; //이전 문자 바꿔주기
} else return false; //해당 알파벳이 이미 등장했던 것이라면 그룹단어 아니므로 false 반환
} else continue;
}
return true;
}
}
풀이
- 입력된 문자열에서 문자 하나하나를 이전 문자와 비교하며 검사
- check()함수의 첫 번째 조건문은 i-1번째 문자와 i번째 문자가 다를 때
- check()함수의 두 번째 조건문은 문자에 해당하는 알파벳 배열이 false라면 -> 이전에 문자가 나오지 않았으면 true로 바꾸기
- check()함수의 두 번째 조건문은 문자에 해당하는 알파벳 배열이 true라면 -> 이전에 문자가 나온 것이므로 false 반환
'💻 Algorithm > BOJ' 카테고리의 다른 글
[백준 2443] 별찍기6 - JAVA (+출력형식이 잘못됐습니다 해결방법) (0) | 2021.03.13 |
---|---|
[백준 8958] OX퀴즈 - JAVA (0) | 2021.01.04 |
[백준 2577] 숫자의 개수 - JAVA (0) | 2021.01.02 |
[백준 3052] 나머지 - JAVA (Vector 사용) (0) | 2020.12.31 |
[백준 1110] 더하기 사이클 - JAVA (do-while문 사용) (0) | 2020.12.28 |
Comments