Study/Problem Solving

[백준 / Java] 2941번: 크로아티아 알파벳 (실버5)

Pearlii 2023. 7. 25. 17:54

문제 풀이 날짜: 2023.07.26
포스트 작성일: 2023.07.26

 

* 학습 목적으로 작성하는 글입니다. 풀이가 정석적이지 못할 수도 있습니다.

 

문제 출처

백준 온라인 저지 2941번: 크로아티아 알파벳 (실버5)

 

키워드

문자열

 

풀이 접근법

  • replace() 메소드를 중점적으로 활용한다.
  • 여기서 replace() 할 대상을 String[] 배열에 담아 참조하는 것이 포인트이다. 이 문제에서는 크로아티아 알파벳 몇 가지가 제시되었으므로, 그것을 배열에 담아 참조하면서 문자열이 크로아티아 알파벳을 포함하는지를 검사한다.
  • replace()는 문자열 단위로도 교체할 수 있으므로 크로아티아 알파벳을 어떤 문자 한 개(예: *, ! 등등)로 치환하고 전체 길이를 잰다.

 

코드

import java.io.*;

public class Main {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		String input = br.readLine();
		
		String[] keys = {"c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="};
		
		for(int i = 0; i < keys.length; i++) {
			if(input.contains(keys[i])) {
				input = input.replace(keys[i], "*");
			}
		}
		System.out.println(input.length());
	}

}

문자열을 replace하여 원하는 결과를 얻는 방식은 여러문제에 응용되기 좋으니 풀이법을 잘 기억해두자.

 

git 링크

(git 링크 첨부)