Baekjoonアルゴリズム | 2941番問題: クロアチア文字
出典
https://www.acmicpc.net/problem/2941
問題
Baekjoon Online Judgeの2941番問題、クロアチア文字を解きます。
入力
正確な入力形式と制約は元の問題文に従います。
出力
問題で求められる答えを出力します。
サンプル入力 1
ljes=njak
サンプル出力 1
6
サンプル入力 2
ddz=z=
サンプル出力 2
3
サンプル入力 3
nljj
サンプル出力 3
3
サンプル入力 4
c=c=
サンプル出力 4
2
サンプル入力 5
dz=ak
サンプル出力 5
3
アルゴリズム分類
- 実装
- 文字列
解説
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
String input = br.readLine();
String[] chars = new String[]{"c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="};
int count = 0;
int fromIndex = 0;
do {
String searchChar = null;
for (String ch : chars) {
if (input.startsWith(ch, fromIndex)) {
searchChar = ch;
break;
}
}
if (searchChar != null) {
fromIndex += searchChar.length();
} else {
fromIndex++;
}
//System.out.println("searchChar=" + searchChar + ", fromIndex=" + fromIndex + ", input.length=" + input.length());
count++;
} while (input.length() > fromIndex);
System.out.println(count);
}
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main2 {
public static void main(String[] args) throws IOException {
try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
String str = br.readLine();
String[] chars = new String[]{"c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="};
for (String c : chars) {
str = str.replace(c, "_");
}
System.out.println(str.length());
}
}
}