테스트 케이스의 개수를 입력받고, 개수 만큼 반복한다.
반복문 안에는 char 자료형 크기 80개를 저장할 수 있는 메모리 공간을 할당하고, 그 공간에 문자열을 입력받는다.
점수를 누적할 변수 sum과 점수를 다음 추가할 점수를 저장할 변수 score를 만들고 sum은 0으로, score는 1로 초기화 한다.
입력받은 문자열의 길이 만큼 반복하여 'O'이면 score의 값을 sum에 누적시키고 score의 값을 1 증가시킨다. 'X'면 score의 값을 1로 초기화 한다.
입력 받은 문자열의 개수는 string.h헤더파일의 strlen()함수를 이용하면 구할 수 있다.
정답은 다음 코드와 같다.
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
33
34
|
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int cnt;
scanf("%d",&cnt);
for(int i=0; i<cnt; i++)
{
char *result = malloc(sizeof(char) * 80);
int score = 1,sum = 0;
scanf("%s",result);
for(int j=0; j < strlen(result); j++)
{
if(result[j]=='O')
{
sum += score;
score++;
}
else
{
score = 1;
}
}
printf("%d\n",sum);
free(result);
}
return 0;
}
|
cs |
'Project H4C Study Group' 카테고리의 다른 글
[Project H4C][백준][C언어] 1546 : 평균 (0) | 2021.03.06 |
---|---|
[Project H4C][백준][C언어] 2562 : 최댓값 (0) | 2021.03.06 |
[Project H4C][CodeUP][C언어] 1080 : (포인터) 부분 문자열 (0) | 2021.03.05 |
[Project H4C] C언어 코딩도장(8) (0) | 2021.03.05 |
[Project H4C] C언어 코딩도장(7) (0) | 2021.03.04 |