본문 바로가기

알고리즘/백준

[백준]2941 - 크로아티아 알파벳 (JAVA/ 자바)

반응형

2941번 문제(1)
2941번 문제(2)

 

1. Scanner를 이용한 방법

import java.util.Scanner;

public class Main{
public static void main(String[] args){

    Scanner sc= new Scanner(System.in);
    String[] alpha = {"c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="};

    String input = sc.next();

    for(int i=0; i<alpha.length; i++){
        if(input.contains(alpha[i])){
            input = input.replace(alpha[i], "*");
        }
    }
    System.out.println(input.length());
    sc.close();
    }   
}

 

2. BufferedReader를 이용한 방법

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[] alpha = {"c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="};

    String input = br.readLine();

    for(int i=0; i<alpha.length; i++){
        if(input.contains(alpha[i])){
            input = input.replace(alpha[i], "*");
        }
    }
    System.out.println(input.length());
    br.close();
    }   
}

contains()를 이용해서 배열 안의 문자들이 포함되어있는지 확인하고,

그 문자들을 다른 문자로 변환한 뒤에 글자 길이를 체크하는 방식이다.

 

처음에 count++ 이런 식으로 증가시키는 방식으로 하려고 했는데 제대로 되지 않았었다....

반응형