rueki
백준 8958번 : OX퀴즈 (C/C++) 본문
728x90
반응형
문제 맞은 것에 따라 O 와 X를 표시하고 그에따라 점수를 매기는 문제이며 문제를 두개 연속 맞으면 1점 + 2점 = 3점이되며 연속해서 맞을시 맞은 문제에 대해 점수가 1점씩 증가한다.
O와 X를 넣을 character형 배열과 테스트 케이스를 선언할 변수, 점수와 그에 대한 증가에 관한 변수 선언이 필수적이다.
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int main() {
char arr[80]; //OX 들어갈 문자열
int score = 0;
int sum=0;
int N; // 테스트 케이스 수
cin >> N;
for (int i = 0; i < N; i++) {
cin>>arr;// 배열에 문자열 입력
for (int j = 0; j < strlen(arr); j++) {
if (arr[j] == 'O') {
score++; // 점수 증가
sum += score; // 점수 누적
}
if (arr[j] == 'X') {
score = 0; // 점수 초기화
}
}
cout << sum<<endl;
sum = 0; // sum 초기화
score = 0; // 점수 증가량 초기화
}
return 0;
}
참고로 비쥬얼 2017에는 string.h 나 cstring 헤더를 선언 안해도 strlen 함수가 사용이되나 사이트 내에서는 헤더를 별도로 선언해줘야 컴파일이 진행된다.
728x90
반응형
'C, C++ 문제풀이' 카테고리의 다른 글
2675번 백준 : 문자열 반복(C/C++) (0) | 2019.07.02 |
---|---|
백준 10809번 : 알파벳 찾기(C/C++) (0) | 2019.07.01 |
백준 1546번 : 평균(C/C++) (0) | 2019.06.30 |
백준 2577 : 숫자의 개수(C/C++) (0) | 2019.06.28 |
백준 2562번 : 최댓값(C/C++) (0) | 2019.06.28 |
Comments