본문 바로가기
백준

[백준 8958] OX퀴즈 자바

by 소금_msg 2022. 8. 7.

 

<구현해야 할 것>

1. OX문제를  N번 입력받아서 배열에 저장

2. 2중 for문으로 첫번째 반복문에서는 배열 요소 길이(str.length)만큼 반복,

    두번째 반복문에서는 각 OX의 길이만큼(str[j].length()) 반복해서 O일때는 cnt++, 아닐때는 cnt 0으로 초기화한다. 

3. cnt 합계를 출력한다.

import java.util.Arrays;
import java.util.Scanner;

public class Main{

	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();
			//System.out.println(Arrays.toString(str));
		}
	
	
		//배열 길이만큼 반복해주기
		for(int j=0;j<str.length;j++) {
				int cnt = 0;	//카운트
				int sum = 0;	//누적합계
			for(int k=0;k<str[j].length();k++) {
				//O일때 더해주기
				if(str[j].charAt(k)=='O') {
					cnt++;
				}else {
					cnt = 0;
				}
				sum += cnt;
			}
			System.out.println(sum);
		}
		
	}

}

 

 

 

[문제풀이에 필요한 개념들]

 

1. length 

배열의 길이를 알고자 할때 사용.
배열이름.length   //배열은 한번 생성하면 길이를 변경할 수 없기 때문에 배열이름.length는 상수이다

2. length()
String, StringBuilder
length()는 문자열의 길이를 알고자 할때 사용.


3. 배열의 인덱스
배열의 저장공간은 배열의 요소.
배열이름[인덱스] 의 형식으로 배열의 요소에 접근한다.
인덱스의 범위는 0부터 배열길이-1 까지.

ex) arr[2] = 40; > 배열 arr의 2번째 요소에 40을 저장한다.
int i = arr[4]; > 배열 arr의 4번째 요소에 i 값 저장한다.

'백준' 카테고리의 다른 글

[백준 11720] 숫자의 합  (0) 2022.08.10
[백준 25304] 영수증 자바  (0) 2022.08.08
[백준 1546] 자바 평균  (0) 2022.08.03
[백준] 2739번 구구단 문제  (0) 2021.10.23
[백준] 10950번 A+B - 3 문제  (0) 2021.10.22