Day11_[BOJ 8958] OX퀴즈 / C

장존훈·2022년 11월 7일

100-Day Algorithm Challenge

목록 보기
16/19
post-thumbnail

Prologue

예전에는 1대100이라는 퀴즈 프로그램이 있었습니다. 어렸을적 많이 봤던 기억이 나는데요, 요즘 가장 유명한 퀴즈 프로그램이라 하면 단연 "유퀴즈"이지 않을까 생각합니다.

아 물론 본방까지 챙겨보진 않습니다.

그런 의미에서, 오늘은 OX퀴즈를 풀어보겠습니다.

Problem

Problem Solving Methods

#include <stdio.h>
#include <string.h>

int main() {
  char a[80];
  int getnum;
  scanf("%d", &getnum);
  for (int i = 0; i < getnum; i++) {
    int sum = 0, plus = 1, len = 0;
    char a[80] = {};
    scanf("%s", a);
    len = strlen(a);
    for (int j = 0; j < len; j++) {
      if (a[j] == 'O') {
        sum += plus;
        plus++;
      } else {
        plus = 1;
      }
    }
    printf("%d\n", sum);
  }
}

각각 O의 개수가 합산되는 sum = 0, O가 중첩되며 쌓여가는 숫자인 plus = 1, O/X의 총 개수가 들어가는 len = 0으로 잡고, 문자열로 O/X를 받아 sum에 plus를 더해가고 만약 X가 나온다면 plus를 다시 1로 초기화 시키는 과정을 거쳤습니다.

Retrospect

개인적으로 만족했던 코드 중 하나였습니다.

여기서 퀴즈 하나 내겠습니다.

Q. long패딩보다 긴 것은?
A. double코트

Q. long패딩보다 짧은것은?
A. int패딩

감사합니다.

0개의 댓글