반응형
안녕하세요? 수구리입니다.
이번 문제도 마찬가지로 일차원 배열에 있는 문제입니다.
간단하게 설명하자면 OX 퀴즈 결과를 일차원 배열로 입력이 들어오게 됩니다.
이때 문제에서 정의한 규칙에 의해서 점수를 산출하여 출력하는 문제입니다.
[ 문제 ] 8958: OX퀴즈
https://www.acmicpc.net/problem/8958
[ 나의 풀이 ]
#include <iostream>
#include <string.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
char h[80]; // 퀴즈 정답 OX 문자열
int t, res, acc; // test case, 결과, 정답 수
cin >> t;
while (t--) {
res = 0; acc = 0;
cin >> h;
for (size_t i = 0; i < strlen(h); i++) {
if ( h[i] == 'O' ) {
acc++; res += acc;
} else {
acc = 0;
}
}
cout<<res<<"\n";
}
}
[ 설명 ]
- 문제에서 정답으로 OX문자열이 80보다 작다고 했으므로 적당한 크기의 일차원 배열 h를 선언한다.
- test case, 결과, 정답의 수 변수 선언
- test case 입력
- t가 0이 될때까지 반복
- test case 마다 res와 acc를 0으로 초기화 후, OX퀴즈의 결과 입력
- h의 길이를 string.h 헤더의 strlen함수를 사용하여 구하고 해당 퀴즈의 결과를 순회
- 하나씩 순회하면서 "O"라면 정답수 증가, 결과에 정답 수를 더함
- 만약 "O"가 아니라면 정답 수를 초기화
- 결과 출력
반응형
'✏️ PS > Boj' 카테고리의 다른 글
[ C++ ] 백준 2775번: 부녀회장이 될테야 (1) | 2021.10.26 |
---|---|
[ C++ ] 백준 10818번: 최소, 최대 (0) | 2021.10.15 |
[ C++ ] 백준 4344번: 평균은 넘겠지 (0) | 2021.10.11 |
[ C++ ] 백준 3052번: 나머지 (0) | 2021.10.06 |
[ C++ ] 백준 2577번: 숫자의 개수 (0) | 2021.10.06 |