๋ฌธ์
"OOXXOXXOOO"์ ๊ฐ์ OXํด์ฆ์ ๊ฒฐ๊ณผ๊ฐ ์๋ค. O๋ ๋ฌธ์ ๋ฅผ ๋ง์ ๊ฒ์ด๊ณ , X๋ ๋ฌธ์ ๋ฅผ ํ๋ฆฐ ๊ฒ์ด๋ค. ๋ฌธ์ ๋ฅผ ๋ง์ ๊ฒฝ์ฐ ๊ทธ ๋ฌธ์ ์ ์ ์๋ ๊ทธ ๋ฌธ์ ๊น์ง ์ฐ์๋ O์ ๊ฐ์๊ฐ ๋๋ค. ์๋ฅผ ๋ค์ด, 10๋ฒ ๋ฌธ์ ์ ์ ์๋ 3์ด ๋๋ค.
"OOXXOXXOOO"์ ์ ์๋ 1+2+0+0+1+0+0+1+2+3 = 10์ ์ด๋ค.
OXํด์ฆ์ ๊ฒฐ๊ณผ๊ฐ ์ฃผ์ด์ก์ ๋, ์ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ ํ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ๊ธธ์ด๊ฐ 0๋ณด๋ค ํฌ๊ณ 80๋ณด๋ค ์์ ๋ฌธ์์ด์ด ์ฃผ์ด์ง๋ค. ๋ฌธ์์ด์ O์ X๋ง์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
์ถ๋ ฅ
๊ฐ ํ ์คํธ ์ผ์ด์ค๋ง๋ค ์ ์๋ฅผ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 1
5
OOXXOXXOOO
OOXXOOXXOO
OXOXOXOXOXOXOX
OOOOOOOOOO
OOOOXOOOOXOOOOX
์์ ์ถ๋ ฅ 1
10
9
7
55
30
ํ์ด
1. ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์ num์ ์ ๋ ฅ๋ฐ๊ณ ํด์ฆ์ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ str[num], ์ด ์ ์๋ฅผ ์ ์ฅํ total[num] ๋ฐฐ์ด์ ์ ์ธ
2. O๊ฐ ์ฐ์๋ ์๋ก ์ฆ๊ฐ๋๋ ์ ์ score๋ฅผ ์ ์ธํ ํ 1๋ก ์ด๊ธฐํ
3. ํด์ฆ์ ๊ฒฐ๊ณผ๋ฅผ charํ ํ๋์ฉ ๋น๊ต.
3-1. O์ด๋ฉด score๋ฅผ total์ ๋ํ๊ณ score++ํด์ค๋ค. (O๊ฐ ์ฐ์๋ ์ 1์ ์ถ๊ฐํ๊ธฐ ์ํด)
3-2. X์ด๋ฉด score๋ฅผ 1๋ก ์ด๊ธฐํ ํด์ค๋ค.
4. ํ๋์ ํ ์คํธ ์ผ์ด์ค ์ฒ๋ฆฌ๊ฐ ๋๋๊ณ score๋ฅผ 1๋ก ์ด๊ธฐํ
5. total์ ์ถ๋ ฅํ๋ค.
import java.util.Scanner;
public class B8958 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
String[] str = new String[num];
int score = 1; // O๊ฐ ๋ช๊ฐ์ธ์ง ๋ฐ๋ผ ๋ฐ๋๋ ์ ์
int[] total = new int[num]; // ์ด ์ ์ ๊ธฐ๋กํ๋ ๋ณ์
for(int i = 0; i < num; i++) {
str[i] = sc.next();
for(int j = 0; j < str[i].length(); j++) {
char c = str[i].charAt(j);
if (c == 'O') {
total[i] += score++; // O๊ฐ ์ฐ์๋ ์๋ก score++ํด์ค
} else if (c == 'X') {
score = 1; // O๊ฐ ๋๊ธฐ๊ณ X๊ฐ ๋์ค๋ฉด score 1๋ก ์ด๊ธฐํ
}
}
score = 1;
}
for(int i = 0; i < num; i++) {
System.out.println(total[i]);
}
}
}