원본 : www.acmicpc.net/problem/8958
8958번: OX퀴즈
"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수
www.acmicpc.net
풀이
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(reader.readLine());
String str[] = new String[n];
for (int i = 0; i < n; i++) {
str[i] = reader.readLine();
}
for (int i = 0; i < n; i++) {
writer.write(String.valueOf(calculate(str[i], 0, 0)));
writer.newLine();
}
writer.flush();
}
public static int calculate(String str, int point, int index) {
if (index < str.length()) {
if (str.charAt(index) == 'O') {
point++;
index++;
return point + calculate(str, point, index);
} else {
point = 0;
index++;
return point + calculate(str, point, index);
}
} else {
return 0;
}
}
}
댓글 영역