처음에는 알파벳별 배열을 만들어서 크로아티아 알파벳으로 바꿔서 어떻게 하면 되지 않을까 생각을 했다
근데 모르겠다
그래서 그냥 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 |
댓글