백준_1차원배열_8958
나의 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = Integer.valueOf(sc.nextLine());
int[] scoreArr = new int[a];
for(int i=0; i<a; i++) {
String str = sc.nextLine();
String[] strArr = str.split("");
int score = 0;
int pastScore = 0;
int result = 0;
int allResult = 0;
for(int j=0; j<strArr.length; j++) {
if("O".equals(strArr[j])) {
score = 1;
pastScore = result;
}else {
score = 0;
pastScore = 0;
}
result = score+pastScore;
allResult += result;
}
scoreArr[i] = allResult;
}
for(int sa : scoreArr)
System.out.println(sa);
}
}
- 각 스코어(s)와 이전 스코어(p)를 갖고 합계(r)를 내는 게 중요한 것 같다.
