첫째 줄에 최대 100글자의 단어가 주어진다. 알파벳 소문자와 '-', '='로만 이루어져 있다.
단어는 크로아티아 알파벳으로 이루어져 있다. 문제 설명의 표에 나와있는 알파벳은 변경된 형태로 입력된다.
입력으로 주어진 단어가 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다.
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 str = br.readLine();
int len = str.length();
int count = 0;
for (int i = 0; i < len; i++) {
char ch = str.charAt(i);
if(ch == 'c' && i < len - 1) {
if(str.charAt(i + 1) == '=' || str.charAt(i + 1) == '-') {
i++;
}
}else if(ch == 'd' && i < len - 1) {
if(str.charAt(i + 1) == '-') { // d- 일 경우
i++;
}
else if(str.charAt(i + 1) == 'z' && i < len - 2) {
if(str.charAt(i + 2) == '=') { // dz= 일 경우
i += 2;
}
}
}
else if((ch == 'l' || ch == 'n') && i < len - 1) {
if(str.charAt(i + 1) == 'j') { // lj 또는 nj 일 경우
i++;
}
}
else if((ch == 's' || ch == 'z') && i < len - 1) {
if(str.charAt(i + 1) == '=') { // s= 또는z= 일 경우
i++;
}
}
count++;
}
System.out.println(count);
}
}
입력 문자를 개별로 확인하는 코드로, 이전 제출 답안은 문자열로 비교하여 코드를 구현해봤지만, dz= 와 z=의 경우 구분이 되지 않아 잘못된 값이 출력되었다. 위 코드처럼 개별 문자로 비교 검증한 결과 정상 구현되었다.