백준 1316_그룹 단어 체커.cpp

hello_hidi·2021년 6월 30일
0

baekjoon_C++

목록 보기
12/33
post-thumbnail

소스코드

#include <iostream>
#include <cstring>
using namespace std;
int main(){
    int NumTestCases;
    cin >> NumTestCases;
    string s; 
    int result = 0;
    for(int i = 0; i < NumTestCases; i++){
        cin >> s;
        bool check = true;
        for(int j = 0; j < s.length(); j++){
            for(int k = j+1; k < s.length(); k++){
                if(s[j] == s[k] && k-j > 1){
                    for(int t = j+1; t < k; t++){
                        if(s[t] != s[j]){
                            check = false;
                            break;
                        }
                    }
                }
            }
        }
        if(check == true) result++;
    }
    cout << result << endl;
    return 0;
}
  1. 변수
    int NumTestCases : 단어의 개수
    string s : 입력받은 단어
    int result : 그룹단어의 개수
    bool check : 그룹단어인지 판단하는 변수
  1. 알고리즘
    1. 문자 전체를 확인하면서 같은 값인데 인덱스 값이 1이상 차이가 난다면 그 뒤에 문자열을 for문을 돌면서 같은 값이 있는지 확인하고 없다면 check값을 false로 바꿔준다.
  1. 배운점
  1. 아쉬운점&느낀점
    코드가 개 더럽다.
profile
안뇽희디

0개의 댓글