-
728x90
* 접근 방법
- 알파벳으로 키로 갖는 map을 생성
- 처음 나오는 알파벳은 map에 삽입 (key의 존재 유무만 중요하기 때문에 value값은 상관 없음)
- 이미 존재하는 알파벳의 경우, 바로 앞에 있지 않으면 그룹단어 아니므로 false리턴#include <iostream> #include <map> #include <string> using namespace std; bool check(string s) { map<char, int> m; bool result = true; for (int i = 0; i < s.size(); i++) { if (m.count(s[i]) == 0) { m.insert(make_pair(s[i], 1)); } else { if (s[i - 1] != s[i]) result = false; } } return result; } int main() { int T = 0, num = 0; cin >> T; for (int i = 0; i < T; i++) { string s; cin >> s; if (check(s)) num++; } cout << num; return 0; }
'알고리즘 풀이 > 백준' 카테고리의 다른 글
[2839] 백준 : 설탕 배달(C++) (0) 2020.04.25 [1712] 백준 : 손익분기점(C++) (0) 2020.04.24 [2941] 백준 : 크로아티아 알파벳(C++) (0) 2020.04.24 [10845] 백준 알고리즘 : 큐(C++) (0) 2019.11.20 [1874] 백준 알고리즘 : 스택 수열(C++) (0) 2019.11.20 댓글