솜이의 데브로그

2941번 ) 크로아티아 알파벳 (java) 본문

Algorithm/백준

2941번 ) 크로아티아 알파벳 (java)

somsoming 2021. 9. 17. 23:06

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

 

2941번: 크로아티아 알파벳

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

www.acmicpc.net

 

문제: 

 

 

풀이

import java.util.*;
public class Main {
	public int solution(String str) {
		int answer =0;
		String[] list = {"c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="};
		for(String x : list) {
			if(str.contains(x)) {
				str = str.replaceAll(x, "*");
			}
		}
		answer = str.length();
		return answer;
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Main T = new Main();
		Scanner kb = new Scanner(System.in);
		String str = kb.nextLine();
		System.out.println(T.solution(str));
	}

}

 

주의할 점

  • replaceAll 에서 처음엔 아무생각없이 * 말고 - 로 대체했는데 그렇게하니까 바꾼 후에 다른 문자랑 결합해서 또 크로아티아 알파벳으로 카운트됐다. -, = 만 아닌 아무 문자로 하면 될듯
  • dz= 를 z= 보다 먼저 확인해야 한다. 그렇지 않으면 dz= 안에 있는 z= 를 먼저 확인해서 d 는 일반 알파벳으로 카운트하기 때문.

'Algorithm > 백준' 카테고리의 다른 글

백준 4358번 ) 생태학 (java)  (0) 2021.10.08
백준 5525번 ) IOIOI (java)  (0) 2021.09.30
백준 5052번 ) 전화번호 목록 (java)  (0) 2021.09.27
11656번 ) 접미사 배열 (java)  (0) 2021.09.26
4949번 ) 균형잡힌 세상 (java)  (0) 2021.09.17