본문 바로가기
Algorithm/Baekjoon

[백준 알고리즘][자바] 2941번 : 크로아티아 알파벳

by hyunipad 2021. 6. 5.
반응형

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

 

2941번: 크로아티아 알파벳

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

www.acmicpc.net

 

입력으로 주어진 단어가 몇 개의 크로아티아 알파벳으로 이루어져 있는지를 구하는 문제입니다.

크로아티아 알파벳은 입력을 할 수가 없어 위의 표처럼 알파벳, '-', '=' 3개의 조합으로 사용합니다.

크로아티아 알파벳와 입력한 단어를 비교하여 치환을 해주면 갯수를 구할 수 있습니다.

단, 빈 값("")으로 치환하면, nljj 와 같이 치환 후 새로운 크로아티아 알파벳이 만들어질 수 있습니다.

따라서 특정 문자로 치환합니다.

 

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

public class Main {

	public static void main(String[] args) throws NumberFormatException, IOException {
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		
		String[] array = {"c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="};
		
		String word = br.readLine().trim();

		for(int i = 0 ; i < array.length ; i++) {
			word = word.replaceAll(array[i], "!");
		}

		bw.write(String.format("%d", word.length()));

		br.close();
		bw.flush();
		bw.close();
	}
}

 

반응형

댓글