import java.util.Scanner;
public class OX_8958 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int sum = 0;
int[] out = new int[n];
sc.nextLine();
for (int j = 0; j < n; j++) {
String ox = sc.nextLine();
int cnt = 1;
for (int i = 0; i < ox.length(); i++) {
char tmp = ox.charAt(i);
if (tmp == 'O') {
sum += cnt;
cnt++;
} else {
cnt = 1;
}
out[j] = sum;
}//for(i)
sum = 0;
cnt = 1;
}//for(j)
for (int k = 0; k < n; k++) {
System.out.println(out[k]);
}
}
}
먼저 nextLine으로 공백을 받아주고,
테스트개수의 숫자만큼 반복문을 돌며 각 string에 대한 명령어를 실행한다.
퀴즈의 ox string을 받고, cnt는 1로 초기화한다.
반복문을 통해 string의 점수를 계산해준다.
- o가 반복될 수록 점수가 높아져야 하기 때문에, 현재 알파벳이 o일때 cnt를 1 증가시킨다.
- x라면 앞에서 쌓였던 반복된 점수가 없어져야 하기 때문에, cnt를 다시 1로 초기화 시킨다.
- 처음 맞힌 점수가 1이여야 하기 때문에 cnt를 1로 초기화 한다.
- 하나의 string에 대한 반복문이 끝나면 해당 sum을 배열에 저장한다
- 모든 테스트 실행이 끝나고 출력하기 위함이다.
- 하나의 string에 대한 반복문이 끝날때마다 sum과 cnt를 초기화 해준다.
'JAVA' 카테고리의 다른 글
[JAVA][백준] 1978_소수 찾기 (0) | 2024.04.15 |
---|---|
[JAVA][백준] 10809_알파벳 (0) | 2024.04.15 |
[JAVA][백준] 3052_나머지 (0) | 2024.04.15 |
[JAVA][백준] 1152_단어의 개수 (0) | 2024.04.15 |
[JAVA][백준] 2884_알람시계 (0) | 2024.04.15 |