on
8958 OX퀴즈
8958 OX퀴즈
1. 배열, Scanner, 2중for문
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String arr[] = new String[in.nextInt()]; for (int i = 0; i < arr.length; i++) { arr[i] = in.next(); } in.close(); for (int i = 0; i < arr.length; i++) { int cnt = 0; // 연속횟수 int sum = 0; // 누적 합산 for (int j = 0; j < arr[i].length(); j++) { if (arr[i].charAt(j) == 'O') { cnt++; } else { cnt = 0; } sum += cnt; } System.out.println(sum); } } }
2. 배열, BufferedReader, StringBuilder, 2중for문
import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); int test_case = Integer.parseInt(br.readLine()); //테스트 케이스 String arr[] = new String[test_case]; for (int i = 0; i < test_case; i++) { arr[i] = br.readLine(); } for (int i = 0; i < test_case; i++) { int cnt = 0; // 연속횟수 int sum = 0; // 누적 합산 for (int j = 0; j < arr[i].length(); j++) { if (arr[i].charAt(j) == 'O') { cnt++; } else { cnt = 0; } sum += cnt; } sb.append(sum).append('
'); } System.out.print(sb); } }
3. 배열X, getBytes(), for-each
import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); int test_case = Integer.parseInt(br.readLine()); // 테스트 케이스 for (int i = 0; i < test_case; i++) { int cnt = 0; // 연속횟수 int sum = 0; // 누적 합산 for (byte value : br.readLine().getBytes()) { if (value == 'O') { cnt++; sum += cnt; } else { cnt = 0; } } sb.append(sum).append('
'); } System.out.println(sb); } }
getBytes() : 입력 문자열을 byte 단위의 배열로 반환시켜주는 메소드
→ for-each 사용가능
from http://sieghart.tistory.com/57 by ccl(A) rewrite - 2021-09-27 11:01:11