Legday

백준 8958번: OX퀴즈(Java) 본문

BaekJoonStudy

백준 8958번: OX퀴즈(Java)

Legday 2022. 8. 23. 13:48

https://www.acmicpc.net/problem/8958

 

8958번: OX퀴즈

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

www.acmicpc.net

소스코드

- Scanner클래스를 이용하여 데이터길이를 입력받고

- String배열 선언과 동시에 입력값만큼의 길이를 지정

- for문을 돌려 o,x를 입력받고

- 다시 for문을 돌리고 for문 안에 count와 total값을 선언하고 초기화를 해준다.

- 그리고 String 배열 각 인덱스를 'O'를 비교하여 맞으면 카운트해주고 'O'가 아니면 count를 0으로 초기화

( 여기서 string인덱스는 string형이기 때문에 'o'와 비교하면 오류가 뜬다. charAt()메서드를 이용하여 char형으로 캐스팅)

package Ex04;

import java.util.Scanner;

public class Question8958 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String str[] = new String[sc.nextInt()];
		
		for(int i=0;i<str.length;i++) {
			str[i]=sc.next();
		}
		sc.close();
		
		for(int i=0;i<str.length;i++) {
			int count=0;
			int total=0;
			for(int j=0;j<str[i].length();j++) {
				if(str[i].charAt(j) == 'O') count++;
				else count=0;
				
				total+=count;
			}
			System.out.println(total);
		}
	}
}

 

출력결과

'BaekJoonStudy' 카테고리의 다른 글

[백준]2753: 윤년-Java  (0) 2022.08.27
[백준] 9498: 시험 성적(Java)  (0) 2022.08.27
[백준]1330번 두 수 비교하기(Java)  (0) 2022.08.27
백준 1546번:평균(Java)  (0) 2022.08.23
백준 4344번: 평균은 넘겠지(Java)  (1) 2022.08.23