반응형

1. 문제

- [백준 C#] 2941번 크로아티아 알파벳 (C#)  (https://www.acmicpc.net/problem/2941)

 

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

크로아티아 알파벳변경

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

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

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

 

 

2. 문제 포인트

  • 단어 입력 받기
  • 크로아티아 알파벳에 해당하는 문자열을 '1'로 바꾸기
    이유 : 다른 알파벳 a나 b등으로 바꾸면 또 다른 크로아티아 알파벳 조합이 만들어 질 수 있으므로 전혀 관계없는 1로 변환
  • 변환이 완료된 문자의 문자열 개수 출력

 

 

반응형

 

 

3. 전체 코드

using System;
using System.Linq;

namespace S5_02941번
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string word = Console.ReadLine();

            word = word.Replace("c=", "1");
            word = word.Replace("c-", "1");
            word = word.Replace("dz=", "1");
            word = word.Replace("d-", "1");
            word = word.Replace("lj", "1");
            word = word.Replace("nj", "1");
            word = word.Replace("s=", "1");
            word = word.Replace("z=", "1");

            Console.WriteLine(word.Count());
        }
    }
}

// 2941번 크로아티아 알파벳
// https://www.acmicpc.net/problem/2941
반응형

+ Recent posts