문제

예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다.

크로아티아 알파벳변경

č c=
ć c-
dz=
đ d-
lj lj
nj nj
š s=
ž z=

예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다.

dž는 무조건 하나의 알파벳으로 쓰이고, d와 ž가 분리된 것으로 보지 않는다. lj와 nj도 마찬가지이다. 위 목록에 없는 알파벳은 한 글자씩 센다.

입력

첫째 줄에 최대 100글자의 단어가 주어진다. 알파벳 소문자와 '-', '='로만 이루어져 있다.

단어는 크로아티아 알파벳으로 이루어져 있다. 문제 설명의 표에 나와있는 알파벳은 변경된 형태로 입력된다.

출력

입력으로 주어진 단어가 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다.

 

 

 

크로아티아 알파벳을 string 배열에 저장하고 입력받은 문자열과 배열에 저장한 문자열을 비교하여 체크했다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using System;
class Program
{
    static void Main(string[] args)
    {
        string s = Console.ReadLine();
        string[] arrayS = { "c=","c-","dz=","d-","lj","nj","s=","z="};
        int iCount = 0;
        
        for(int i = 0; i < s.Length;)
        {
            for(int j = 0; j < arrayS.Length; j++)
            {
                int temp = i;
                bool bCheck = false;
                for(int k = 0; k < arrayS[j].Length; k++)
                {
                    if (s[temp] == arrayS[j][k])
                    {
//입력받은 문자열과 배열의 문자열과 같은 경우
                       if (k == arrayS[j].Length - 1)
                       {
                          iCount++;
                          i = i + arrayS[j].Length;
                          bCheck = true; //크로아티아 문자열을 찾은 경우 아래에서 카운트를 하지 않게 체크하는 부울 변수
                       }
                       else
                       {
                          if(temp == s.Length-1break;
                          temp++;
                       }
                    }
                    else break;
                }
                if (bCheck) break;
                
                if (j == arrayS.Length - 1)
                {
                   i++;
                   iCount++;
                }
            }
        }
        Console.WriteLine(iCount);
    }
}
cs
 
 
 

 

https://www.acmicpc.net/problem/2941

 

2941번: 크로아티아 알파벳

문제 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s=

www.acmicpc.net

 

+ Recent posts