ABOUT ME

Today
Yesterday
Total
  • 백준 8958번 OX퀴즈
    Programming/BaekJoon 2021. 10. 14. 23:03

     

     


    내가 푼 풀이

    배열을 이용하되 테스트케이스에 대한 배열을 만들었으면 

    이 풀이보다 필요한 변수도 줄어들고 코드도 짧아지는데

    배열에 점수를 넣는 것으로 접근해서 이렇게 코드가 길~어졌다.

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    public class Main {
    
    	public static void main(String[] args) throws IOException {
    		
    		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    
    		//테스트 케이스의 개수
    		int N = Integer.parseInt(br.readLine());
    		
    		//점수를 계산하기 위한 변수 
    		int score = 0;
    		int score2 = 0;
            
            	//테스트케이스별 점수를 보관할 int 배열
    		int[] score3 = new int[N];
            
            	//테스트 케이스 입력받기
    		for(int i = 0; i < N; i++) {
    			String s = br.readLine();
    			
    		//테스트케이스를 반복문 돌며 연속된 O의 개수만큼 점수 플러스
    			for(int j = 0; j < s.length(); j++) {
    				if(s.charAt(j) == 'O') {
    					score++;
    					score2 += score;
    				} else {
    					score = 0;
    				}
    			}
                //점수 넣기
    			score3[i] = score2;
                
                //변수 초기화(다음 테스트케이스의 점수 계산을 위해)
    			score2 = 0;
    			score = 0;
    		}
    		
            	//점수 출력
    		for(int i : score3) {
    			System.out.println(i);
    		}
    	}
    
    }

     

    'Programming > BaekJoon' 카테고리의 다른 글

    백준 11654번 아스키코드  (0) 2021.08.20
    백준 1546번 평균  (0) 2021.08.11
    백준 3052번 나머지  (0) 2021.07.16
    백준 2577번 숫자의 개수  (0) 2021.07.16
    백준 2562번 최대값  (0) 2021.07.16

    댓글

Designed by Tistory.