https://www.acmicpc.net/problem/1316
이번 문제도 간단하다.
입력값을 배열로 받은 다음에 하나 하나 방문하면서 다음 단어가 다를 경우 ck함수를 이용하여 비교해 주는 방법으로 매우 간단하게
풀었다 ㅎㅎ
소스코드
#include <iostream>
#include <algorithm>
#include <queue>
#include <vector>
#include <cstring>
#include <stdio.h>
using namespace std;
int word_len(void);
char word[100+1];
int ck(char w,int index){
for(int i = index+1;i<word_len();i++){
if(w == word[i]){
return -1;
}
}
return 1;
}
int word_len(void){
int cnt = -1;
for(int i = 0;i<100;i++){
if(word[i] == '@')
break;
else
cnt++;
}
return cnt;
}
int main(void){
int T,result = 0;
cin >> T;
for(int i = 0;i<T;i++){
memset(word,'@',100+1);
cin >> word;
for(int j = 0;j<word_len();j++){
if(word[j] == word[j+1]){
continue;
}
else{
if(ck(word[j],j) == -1){
result--;
break;
}
}
}
result++;
}
cout << result;
}
'c++ 백준 문제 풀이' 카테고리의 다른 글
[백준/C++][(1197번)최소 스패닝 트리] (0) | 2020.11.19 |
---|---|
[백준/C++][(1922번) 네트워크 연결] (0) | 2020.11.19 |
[백준/C++] 요세푸스 문제 0 (11866번) (0) | 2020.10.30 |
백준- 크로아티아 알파벳[2941번] (0) | 2020.10.15 |
백준- 최단경로[1753번] (다익스트라 알고리즘) (0) | 2020.10.14 |