[알고리즘] 백준 2941 - 크로아티아 알파벳

홍예주·2022년 3월 8일
0

알고리즘

목록 보기
54/92

1. 문제

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

크로아티아 알파벳 변경
č : c=
ć : c-
dž : dz=
đ : d-
lj : lj
nj : nj
š : s=
ž : z=

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

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

2. 입력

첫째 줄에 최대 100글자의 단어가 주어진다. 알파벳 소문자와 '-', '='로만 이루어져 있다.
단어는 크로아티아 알파벳으로 이루어져 있다. 문제 설명의 표에 나와있는 알파벳은 변경된 형태로 입력된다.

3. 풀이

크로아티아 문자에 해당하는 문자열 부분을 한 글자로 교체해준다.
모두 교체 후 문자열의 전체 길이가 정답이 된다.

4. 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class croatian_2941 {
    public static void solution() throws IOException{
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        String str = bf.readLine();

        str = str.replace("c=", "A");
        str = str.replace("c-", "A");
        str = str.replace("dz=", "A");
        str = str.replace("d-","A");
        str = str.replace("lj", "A");
        str = str.replace("nj", "A");
        str = str.replace("s=", "A");
        str = str.replace("z=", "A");

        System.out.println(str.length());
    }
}

profile
기록용.

0개의 댓글