66
풀이
제시된 조건대로 배열을 훑어 답을 출력합니다.
코드
C
#include<stdio.h>
#include<string.h>
int main(){
int n, i, j, sum, add;
char string[80];
scanf("%d", &n);
for(i = 0; i < n; i++){
sum = 0;
add = 1;
scanf("%s", string);
for(j = 0; j < strlen(string); j++){
if(string[j]=='O'){
sum += add;
add++;
}
else{
add = 1;
}
}
printf("%d\n", sum);
}
return 0;
}
C++
#include<iostream>
#include<cstring>
using namespace std;
int main(){
int n;
char string[80];
cin>>n;
for(int i = 0; i < n; i++){
int sum = 0;
int add = 1;
cin>>string;
for(int j = 0; j < strlen(string); j++){
if(string[j]=='O'){
sum += add;
add++;
}
else{
add = 1;
}
}
cout<<sum<<endl;
}
return 0;
}
Java
import java.util.Scanner;
public class Main {
public static void main(String [] args) {
Scanner sc = new Scanner(System.in);
int n= sc.nextInt();
for(int i = 0; i < n; i++){
int sum = 0;
int add = 1;
String string = sc.next();
for(int j = 0; j < string.length(); j++){
if(string.charAt(j)=='O') {
sum += add;
add++;
}
else{
add = 1;
}
}
System.out.println(sum);
}
}
}
Python
n = int(input())
for _ in range(n):
string = str(input().rstrip())
sumnum = 0
add = 1
for s in string:
if s == 'O':
sumnum += add
add += 1
else:
add = 1;
print(sumnum)
문제 출처
https://www.acmicpc.net/problem/8958