개발자/C or C++
[백준] 8958번
728x90
반응형
문제
해결 방법
이 문제는 일단 테스트 케이스를 입력받은 후, 테스트 케이스 횟수 만큼 문자열을 입력 받아서 각 케이스마다 점수를 계산하면 됩니다..
예를들어 OOOXXXXXX 이런식이라면 O가 연속으로 나오는 횟수를 count하고 score의 sum값에 계속 더해주는 방식으로 점수를 계산하면 됩니다.
O --> 1 --> sum=1
O---> 2 ---> sum=1+2=3
O--->3 ----> sum=3+3=6
나머지는 모두 X이므로 count=0 유지
마지막에 sum값 출력
주의할 점은 테스트케이스가 끝날 때마다 문자열 배열을 초기화 해주어야합니다.
소스코드
#include <stdio.h>
#include <string.h>
int main(){
int T;
scanf("%d",&T);
int i=0;
char str[80];
for(i=0;i<T;i++){
scanf("%s",str);
int len=strlen(str);
int j=0;
int sum=0;
int count=0;
for(j=0;j<len;j++){
if(str[j]=='X'){
count=0;
}
else{
count++;
sum+=count;
}
}
printf("%d\n",sum);
str[0]='\0';
}
}
실행결과
반응형
'개발자 > C or C++' 카테고리의 다른 글
[백준] 1152번 (0) | 2021.10.01 |
---|---|
[백준] 1110번 (0) | 2021.10.01 |
[백준] 2577번 (0) | 2021.10.01 |
[백준] 1065번 (0) | 2021.10.01 |
[백준] 4673번 (0) | 2021.10.01 |
댓글