작성일 :

문제 링크

2941번 - 크로아티아 알파벳

설명

입력으로 주어진 단어에서, 문제의 표를 바탕으로 변경된 형태로 주어진 크로아티아 알파벳을 찾아서 그 개수를 세는 문제입니다.

단어에서 크로아티아 알파벳을 찾아 임의의 일반 알파벳으로 대체하면, 남은 문자의 개수가 크로아티아 알파벳의 개수와 같게 됩니다.


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;
}