알고리즘/백준

[java] 백준 2941번 크로아티아 알파벳

펄찌 2021. 7. 6. 22:53
import java.util.Scanner;

class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.next();
        int count = 0;
        char[] c = new char[s.length()];

        for (int i = 0; i < s.length(); i++) {
            c[i] = s.charAt(i);
        }

        // 크로아티아 문자 하나 = 알파벳 2글자이지만 1글자로 센다는 가정하에
        // i가 n씩 증가한만큼 건너뛰기 때문에 count를 할 수 있음
        for (int i = 0; i < s.length(); i++) {
            if (c[i] == 'c') {
                // IndexOutofBoundsException 에러를 내기 때문에 처리
                if (i < s.length() - 1) {
                    if (c[i + 1] == '=') {
                        i += 1;
                    } else if (c[i + 1] == '-') {
                        i += 1;
                    }
                }
            } else if (c[i] == 'd') {
                if (i < s.length() - 1) {
                    if (c[i + 1] == '-') {
                        i += 1;
                    } else if (c[i + 1] == 'z') {
                        if (i < s.length() - 2) {
                            if (c[i + 2] == '=') {
                                i += 2;
                            }
                        }
                    }
                }
            } else if (c[i] == 'l') {
                if (i < s.length() - 1) {
                    if (c[i + 1] == 'j') {
                        i += 1;
                    }
                }
            } else if (c[i] == 'n') {
                if (i < s.length() - 1) {
                    if (c[i + 1] == 'j') {
                        i += 1;
                    }
                }
            } else if (c[i] == 's') {
                if (i < s.length() - 1) {
                    if (c[i + 1] == '=') {
                        i += 1;
                    }
                }
            } else if (c[i] == 'z') {
                if (i < s.length() - 1) {
                    if (c[i + 1] == '=') {
                        i += 1;
                    }
                }
            }
            // i가 증가한만큼 count 1씩 증가 
            count += 1;
        }

        System.out.println(count);

    }

}

 

 

반응형