Algorithm/BOJ

[백준 알고리즘/BOJ/C++] 1316 그룹 단어 체커

pinevienna 2021. 1. 15. 21:58

 

 

문자열을 n개 입력 받으면 그 중 그룹 단어가 몇개인지 출력하는 문제

한 번 나왔던 문자는 연속해서 나오는게 아니라면 다시는 나오면 안된다

 

 

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
31
32
33
34
35
36
37
38
#include <iostream>
using namespace std;
 
int main(void) {
    string arr;
    int n, result = 0;
    bool temp = false, fail = false;
 
    cin >> n;
    
    for (int i = 0; i < n; i++) {
        cin >> arr;
 
        for (int j = 0; j < arr.size(); j++) {
            for (int k = j + 1; k < arr.size(); k++) {
                if (arr[j] != arr[k]) { //문자가 연속되다 끊김
                    temp = true;
                }
                else {
                    if (temp == true) { //근데 같은게 나옴
                        fail = true//그룹단어가 아님
                        break;
                    }
                }
            }
            temp = false//초기화
            if (fail == true)
                break;
        }
 
        if (fail == false)
            result++;
        
        fail = false;
    }
 
    cout << result;
}
cs

 

지금보니 뭔가 조잡스럽지만.. 정답코드ㅎ