https://www.acmicpc.net/problem/2941
이번문제는 조건에 맞게 크로아티아 알파벳을 앞글자의 따라 경우를 나눠서 간단하지만 길게 풀은 것 같다.
더 쉽게 푸는 방법도 많겠지만 가장 먼저 생각나는 방법으로 풀었다...
소스코드
#include <iostream>
#include <algorithm>
#include <queue>
#include <vector>
#include <cstring>
#include <stdio.h>
using namespace std;
int main(void){
int cnt = -1,result = 0;
char word[100+1];
memset(word,'!',100+1);
cin >> word;
for(int i = 0;i<=100;i++){
if(word[i] == '!'){
break;
}
else{
cnt++;
}
}
for(int i = 0;i<cnt;i++){
//cout << word[i]<<" "<<result<<"\n";
if(word[i] == 'c'){
if(word[i+1] == '='){
result++;
i++;
continue;
}
else if(word[i+1] == '-'){
result++;
i++;
continue;
}
else{
result++;
continue;
}
}
else if(word[i] == 'd'){
if(word[i+1] == '-'){
result++;
i++;
continue;
}
else if(word[i+1] == 'z'){
if(word[i+2] == '='){
result++;
i = i+2;
continue;
}
else{
result++;
continue;
}
}
else{
result++;
continue;
}
}
else if(word[i] == 'l'){
if(word[i+1] == 'j'){
result++;
i++;
continue;
}
else{
result++;
continue;
}
}
else if(word[i] == 'n'){
if(word[i+1] == 'j'){
result++;
i++;
continue;
}
else{
result++;
continue;
}
}
else if(word[i] == 's'){
if(word[i+1] == '='){
result++;
i++;
continue;
}
else{
result++;
continue;
}
}
else if(word[i] == 'z'){
if(word[i+1] == '='){
result++;
i++;
continue;
}
else{
result++;
continue;
}
}
else{
result++;
}
}
cout << result;
}
'c++ 백준 문제 풀이' 카테고리의 다른 글
[백준/C++][(1197번)최소 스패닝 트리] (0) | 2020.11.19 |
---|---|
[백준/C++][(1922번) 네트워크 연결] (0) | 2020.11.19 |
[백준/C++] 요세푸스 문제 0 (11866번) (0) | 2020.10.30 |
백준- c++/c 그룹 단어 체커[1316번] (0) | 2020.10.15 |
백준- 최단경로[1753번] (다익스트라 알고리즘) (0) | 2020.10.14 |