본문 바로가기
백준

[백준] 단계별로 풀어보기(단계:7,문자열,JAVA)2941번, 크로아티아 알파벳

by 열정적인 이찬형 2021. 12. 25.

문제 링크


주의사항

  • JAVA를 사용하여 프로그램을 사용하였습니다.
  • 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다.
public class Main{ 	
	public static void main(String[] args){
    }
}

문제 설명


접근 방법

  • BufferedReader를 사용하여 입력값을 저장합니다.
  • 표현할 수 없는 크로아티아로 묶어진 알파벳을 '1'로 대체하는 croatiaAlphabet 함수를 만들었습니다.
  • 함수에서는 패턴과 replaceAll()을 사용하여 '1'로 대체하도록 하였습니다.
  • '1'로 대체되었기 때문에 문자열의 길이를 그대로 bw에 저장하였습니다.
  • BufferedWriter를 사용하여 결과를 출력하였습니다.

결과 코드

import java.util.*;
import java.io.*;
public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        //입력 값을 받는 BufferedReader
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        //결과를 출력하는 BufferedWriter
        String text = br.readLine();			//입력값 저장
        String result = croatiaAlphabet(text);		//크로아티아 대체된 문자열
        bw.write(result.length() + "\n");		//대체된 문자열 길이 bw에 저장
        bw.flush();					//결과 출력
        bw.close();
        br.close();
      
    }
    public static String croatiaAlphabet(String text) {	//표현할 수 없는 크로아티아 기호 '1'로 대체
    	String patten = "c=|c-|dz=|d-|lj|nj|s=|z=";
    	String result = text.replaceAll(patten, "1");
    	return result;
    }
}

댓글