PS/Baekjoon Online Judge

[백준 8958] OX퀴즈 [C]

kimyoungrok 2021. 7. 11. 18:34
728x90

백준 - 8958


풀이

입력받은 문자열에서 'O'이면 1 증가시킨 temp를 sum에 더해주고, 만약 'X'가 나오면 temp를 0으로 초기화해 다음 'O' 가 나올 때 다시 1부터 더해줄 수 있도록 하면 된다.

 

C99로 컴파일하기 때문에 조건연산자 사용에 주의해야 한다.


소스코드

#include <stdio.h>
int main() {
    char str[80], N;
    scanf("%d", &N);
    while (N--) {
        int temp = 0, sum = 0;
        scanf("%s", &str);
        for (int i = 0; str[i] != '\0'; i++)
            (str[i] == 'O') ? sum += ++temp : (temp = 0);
        printf("%d\n", sum);
    }
}

출처

 

8958번: OX퀴즈

"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수

www.acmicpc.net

 

 

Errors using ternary operator in c

I have a piece of code in C given as follows : main() { int a=10, b; a>=5 ? b=100 : b=200 ; printf("%d" , b); } running the code on gcc compiler in unix generates the compile-time...

stackoverflow.com

 

728x90

'PS > Baekjoon Online Judge' 카테고리의 다른 글

[백준 10798] 세로읽기 [C]  (0) 2021.07.11
[백준 10797] 10부제 [C]  (0) 2021.07.11
[백준 3052] 나머지 [C]  (0) 2021.07.11
[백준 2920] 음계 [C]  (0) 2021.07.11
[백준 10866] 덱 [C]  (0) 2021.07.10