[백준 2941] 크로아티아 알파벳 (C#, C++) - soo:bak
작성일 :
문제 링크
설명
입력으로 주어진 단어에서, 문제의 표를 바탕으로 변경된 형태로 주어진 크로아티아 알파벳을 찾아서 그 개수를 세는 문제입니다.
단어에서 크로아티아 알파벳을 찾아 임의의 일반 알파벳으로 대체하면, 남은 문자의 개수가 크로아티아 알파벳의 개수와 같게 됩니다.
Code
[ C# ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
namespace Solution {
class Program {
static void Main(string[] args) {
string[] croatiaAlphabets = {"c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="};
var word = Console.ReadLine()!;
foreach (string alphabet in croatiaAlphabets) {
while (word.Contains(alphabet))
word = word.Replace(alphabet, "a");
}
Console.WriteLine(word.Length);
}
}
}
[ C++ ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
string croatiaAlphabets[8] = {"c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="};
string word; cin >> word;
for (string alphabet : croatiaAlphabets) {
while (word.find(alphabet) != string::npos)
word.replace(word.find(alphabet), alphabet.length(), "a");
}
cout << word.length() << "\n";
return 0;
}