백준 8958 : OX퀴즈

C# 2021. 1. 13. 23:05

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

"OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다.

OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오.

첫째 줄에 테스트 케이스의 개수가 주어진다. 
각 테스트 케이스는 한 줄로 이루어져 있고, 길이가 0보다 크고 80보다 작은 문자열이 주어진다. 
문자열은 O와 X만으로 이루어져 있다.
각 테스트 케이스마다 점수를 출력한다.

:: 성공

: 개선점 : ???

using System;

namespace Array01
{
    class Program
    {
        static void Main(string[] args)
        {
            // :: Read
            int readCount = Int32.Parse(Console.ReadLine());

            // for Use
            string print = "";

            // :: Get
            for(int i = 0; i < readCount; i++)
            {
                string ox = Console.ReadLine();

                // :: Reset
                int score = 0;
                int checkContinue = 1;

                // :: Find
                foreach(var itm in ox)
                {
                    if(itm == 'O')
                    {;
                        score += checkContinue;
                        checkContinue += 1;
                    } else if(itm == 'X')
                    {
                        // :: Reset
                        checkContinue = 1;
                    }
                }

                // :: Remember
                print += score.ToString() + (i == readCount - 1 ? "" : "\n");
            }


            // :: Print
            Console.WriteLine(print);
        }
    }
}

 

 
 

 

 

'C#' 카테고리의 다른 글

백준 1065 : 한수  (0) 2021.01.18
백준 4344 : 평균은 넘겠지  (0) 2021.01.14
백준 1546 : 평균  (0) 2021.01.11
백준 3052 : 나머지  (0) 2021.01.09
백준 2577 : 숫자의 개수  (0) 2021.01.07
블로그 이미지

RIsN

,