개발자/Baekjoon

2941 백준 - java

봉구리 2023. 3. 24.

처음에는 알파벳별 배열을 만들어서 크로아티아 알파벳으로 바꿔서 어떻게 하면 되지 않을까 생각을 했다

 

근데 모르겠다

 

그래서 그냥 if문 무진장 써서 풀었다

 

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        int count = 0;
        for(int i=0;i<a.length();i++) {
        	char set = a.charAt(i);
        	if(set=='c') {
        		if(i+1 < a.length() && (a.charAt(i+1)=='=' || a.charAt(i+1)=='-' )) {
        			i++;
        		}
        	}
        	else if(set=='d') {
        		if(i+2 < a.length() && a.charAt(i+1)=='z' && a.charAt(i+2)=='=') {
        			i+=2;
        		}
        		else if(i+1 < a.length() && a.charAt(i+1)=='-'){
        			i++;
        		}
        	}
        	else if(set=='l') {
        		if(i+1 < a.length() && a.charAt(i+1)=='j') {
        			i++;
        		}
        	}
        	else if(set=='n') {
        		if(i+1 < a.length() && a.charAt(i+1)=='j') {
        			i++;
        		}
        	}
        	else if(set=='s') {
            	if(i+1 < a.length() && a.charAt(i+1)=='=') {
            		i++;
            	}
            }
        	else if(set=='z') {
            	if(i+1 < a.length() && a.charAt(i+1)=='=') {
            		i++;
            	}
            }
        	count ++;
        }
        System.out.println(count); 
    }
}

 

이렇게 풀면 안되는것 같은데 어찌겠는가 모르는데

 

그리고 풀때마다 느끼는건데 런타임오류를 계속 실수한다

 

위에서 abced라는 단어가 있는데 마지막 i가 4일때  i+1이 존재하면 안된다

 

그러므로  i+1<a.length()가 꼭 들어가야되는것 

 

풀고 난 다음에 구글링해서 찾아본 방법

 

contains() 특정 문자열이 존재하는지 판단할수 있음

특정 문자열이 존재하면 true,   존재하지 않으면 false

 

Replace()  자신이 바꾸고싶은 문자로 문자열을 치환시켜주는 기능

a " 금수나라";

a= a.replace("금수","우리");

 System.out.println(a);

// 우리나라

 

이함수를 사용해서 풀면 간단하게 풀수있다

 

 

'개발자 > Baekjoon' 카테고리의 다른 글

25206 - 백준 - java  (0) 2023.03.26
1316 백준 - java  (0) 2023.03.25
1157 백준 - java  (0) 2023.03.23
10988번 백준 [java]  (0) 2023.03.23
10810번 - 자바  (0) 2023.03.18

댓글