반응형
문제
"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다.
"OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다.
OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오.
문제 설명
OX퀴즈의 점수를 계산하는 문제.
O가 연속적으로 발생할 수록 점수 배점이 높아진다.
점수 배점을 저장하는 변수를 만들어 O일 때마다 1을 높여주고 X가 나오면 0으로 초기화시키면서 계산하면 된다.
성공 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.IOException;
import java.util.StringTokenizer;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader((System.in)));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter((System.out)));
int a = Integer.parseInt(br.readLine());
int sum = 0, temp = 0;
for (int i = 0; i < a; i++) {
String arr[] = br.readLine().split("");
for (String ox : arr){
if (ox.equals("O")) {
temp++;
sum += temp;
}
else temp = 0;
}
bw.write(sum + "\n");
temp = 0;
sum = 0;
}
bw.flush(); bw.close();
}
}
|
cs |
반응형