반응형
https://www.acmicpc.net/problem/1316
- 문제
해설
그룹 단어는 같은 문자를 여러 번 사용하지 않은 단어를 말한다. 단 연속해서 사용하는 경우는 제외한다.
for문을 1부터 돌려 i인덱스와 i-1인덱스 문자가 같지 않은 경우 문자를 사용했는 지 체크한다.
만약 사용했을 경우 그룹 단어에서 제외된다.
아래 코드에서는 isUsed 배열로 사용된 문자인 지 체크하고 있다.
코드
c
#include <stdio.h>
#include <string.h>
int main() {
int n;
char s[101];
scanf("%d", &n);
int flag;
int ans = 0;
while(n--) {
scanf("%s", s);
int isUsed[26] = { 0, };
isUsed[s[0] - 'a'] = 1;
flag = 1;
for(int i = 1; i < strlen(s); i++) {
if(s[i] == s[i - 1]) continue;
if(isUsed[s[i] - 'a']) flag = 0;
isUsed[s[i] - 'a'] = 1;
}
if(flag) ans++;
}
printf("%d", ans);
return 0;
}
c++
#include <iostream>
using namespace std;
int main() {
int n;
string s;
cin >> n;
bool flag;
int ans = 0;
while(n--) {
cin >> s;
bool isUsed[26] = { false, };
isUsed[s[0] - 'a'] = true;
flag = true;
for(int i = 1; i < s.length(); i++) {
if(s[i] == s[i - 1]) continue;
if(isUsed[s[i] - 'a']) flag = false;
isUsed[s[i] - 'a'] = true;
}
if(flag) ans++;
}
cout << ans;
return 0;
}
반응형
'알고리즘 > 백준 문제 풀이' 카테고리의 다른 글
[BOJ/백준] 2738번 행렬 덧셈 - [c/c++] 풀이 (1) | 2023.06.04 |
---|---|
[BOJ/백준] 25206번 너의 평점은 - [c/c++] 풀이 (1) | 2023.05.31 |
[BOJ/백준] 10988번 팰린드롬인지 확인하기 - [c/c++] 풀이 (0) | 2023.05.25 |
[BOJ/백준] 2444번 별 찍기-7 - [c/c++] 풀이 (0) | 2023.05.13 |
[BOJ/백준] 11718번 그대로 출력하기 - [c/c++] 풀이 (0) | 2023.05.13 |
댓글