728x90
1. 문제
https://www.acmicpc.net/problem/2941
2. 풀이
line은 입력받은 문자열이다.
첫 번째 방법-> if문 활용하기
int count = 0;
for (int i = line.length() - 1; i >= 0; i--) {
count++;
if(line.charAt(i)=='=') {
i--;
if(i-1>=0 && line.charAt(i)=='z' && line.charAt(i-1)=='d') i--;
}else if(line.charAt(i)=='-') {
i--;
}else if(line.charAt(i)=='j') {
if(i-1>=0 && (line.charAt(i-1)=='n' || line.charAt(i-1)=='l')) i--;
}
}
System.out.println(count);
두번째 방법 -> replace 활용하기
크로아티아 알파벳을 문자열 배열에 담아놓고 라인에 같은 게 있으면 전부 교체한다.
String[] str = {"c=","c-","dz=","d-","lj","nj","s=","z="};
for(int i=0;i<8;i++){
line = line.replaceAll(str[i],".");
}
System.out.println(line.length());
3. 결과
'코딩테스트 > BOJ' 카테고리의 다른 글
[BOJ] 2667 단지번호 붙이기 - JAVA (0) | 2022.02.23 |
---|---|
[BOJ] 2108 통계학 - JAVA (0) | 2022.02.23 |
[BOJ] 1417 국회의원 선거 - JAVA (0) | 2022.02.22 |
[BOJ] 1759 암호만들기 - JAVA (0) | 2022.02.22 |
[BOJ] 2606 바이러스 - JAVA (0) | 2022.02.20 |
댓글