백준 1316 그룹 단어 체커
간단하게, 배열 26칸 선언 후 이미 나왔는데 또 나온경우, 그리고 연달아 나오지 않은 경우가 나온다면 세지 않는 방식입니다.
소스코드 :
#include#include using namespace std; int main() { int n; cin >> n; cin.ignore(); int check = 0; for (int i = 0; i < n; i++) { int a[26] = { 0, }; string tmp; getline(cin, tmp); int len = tmp.length(); // 바로 직전에 나왔던 문자를 저장하는 변수 char lastChar = tmp[0]; bool flag = false; for (int i = 0; i < len; i++) { // 연달아 나왔거나, 혹은 처음 나오는 문자 일 경우 if (lastChar == tmp[i] || a[tmp[i] - 'a'] == 0) { lastChar = tmp[i]; // 값을 1로 바꾸어 만났다는 표시 해줌. a[tmp[i] - 'a'] = 1; } else { flag = true; break; } } if (!flag) check++; } cout << check << endl; }
댓글
댓글 쓰기