🥹

아좌잣 홧팅이닷!

토독토독..💻

알고리즘🤮/백준

[JAVA] 백준 8958번: OX퀴즈

SU_VIN 2022. 11. 24. 19:31
반응형

 

8958번: OX퀴즈

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

www.acmicpc.net

문제

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

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

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

입력

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

출력

각 테스트 케이스마다 점수를 출력한다.


단순 구현문제라 뭐.. 따로 로직은 설명할게없다 O면 점수를 증가시키고 X면 점수를 초기화 시킨다 정도?

이게왜 정답률이 50퍼도 안넘는지는 의문이지만...  그럼 바로 레추코


문제풀이

import java.util.Scanner;

public class BJ_CT_4 {
    public static void main(String[] args) {
        Scanner sc= new Scanner(System.in);
        int n=sc.nextInt();
        int[] arr = new int[n];//출력할 점수를 담을 배열

        for(int i=0;i<n;i++){
            String str = sc.next(); //OX를 입력해준다
            int count = 0; //증가시킬 점수
            int sum=0; //총 점수

            for(int j=0;j<str.length();j++){
                if(str.charAt(j)=='O'){//문제를 맞았다면
                    count++; //점수를 증가해주고
                    sum+=count; //총 점수에 더해줌
                }else{//문제를 틀렸다면
                    count=0; //0으로 초기화
                }
            }

            arr[i]=sum; //배열에 총점수를 하나씩 담아준다
        }

        for(int i=0;i<arr.length;i++){
            System.out.println(arr[i]); //그리고 출력.
        }


    }
}

쏘간단하다!! charAt( )에 관해서는 다음에 포스팅을 다룰께용ㅎㅎ🤤

 

아무튼 바로 통과!!

 

 

 

 

반응형