백준 알고리즘/1차원 배열

[JAVA 자바] 백준 8958번 : OX퀴즈

Sun720 2022. 5. 28. 01:09

▶ 문제

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

 

8958번: OX퀴즈

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

www.acmicpc.net

 설명

 

문제 풀이

🌱 풀이1.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		int inputNum = Integer.parseInt(br.readLine());

		while (inputNum > 0) {

			String str = br.readLine();
			int[] arr = new int[str.length()];
			int score = 0;

			for (int i = 0; i < str.length(); i++) {
				char ch = str.charAt(i);
				if (i == 0) {
					if (ch == 'O') {
						arr[i] = 1;
					} else {
						arr[i] = 0;
					}
					score = arr[i];
				}

				if (i == 0)
					continue;

				char ch2 = str.charAt(i - 1);

				if (ch == 'O') {
					if (ch2 == 'O') {
						arr[i] = arr[i - 1] + 1;
					} else {
						arr[i] = 1;
					}
				} else {
					arr[i] = 0;
				}
				score += arr[i];
			}
			sb.append(score + "\n");
			inputNum--;
		}
		System.out.println(sb);
	}

}

🌱 풀이2.

 

🌱 풀이2.

 

Log

728x90
반응형