본문 바로가기
Coding Test/백준

[백준 자바 JAVA] 2941번 크로아티아 알파벳

by 똧이 2022. 3. 17.
반응형

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

 

2941번: 크로아티아 알파벳

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

www.acmicpc.net

 

 

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

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str = br.readLine();
        String[] wordArr = {"c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="};
        int count = 0;

        for(int i = 0; i < wordArr.length; i++) {
            if(str.contains(wordArr[i])) {
                count++;
                str = str.replace(wordArr[i], ".");
            }
        }

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

 

 

풀이

 

이 문제는

1. 배열에 문제에 주어진 크로아티아 알파벳을 담고

2. 반복문을 통해 배열에 담겨진 크로아티아 알파벳이 입력받은 문자열에 존재하는지 확인한다. (해당 알파벳이 존재하면 '-'와 '='를 제외한 다른 문자열로 치환해줌.) 여기서 주의할 점은 입력받은 문자열에 동일한 알파벳이 2개 이상 들어갈 수 있다는 점을 염두에 두어야 한다.

3. 반복문을 통해 치환된 문자열의 길이를 반환해준다. => '.'으로 치환된 알파벳의 갯수 + '.'으로 바뀌지 않은(목록(배열)에 없는) 알파벳 갯수 = 문자열에 존재하는 크로아티아 알파벳의 갯수

728x90

댓글