Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags more
Archives
Today
Total
관리 메뉴

luke

[백준] - OX퀴즈 (8958) (자바/Java) 본문

알고리즘문제/백준 문제(Java)

[백준] - OX퀴즈 (8958) (자바/Java)

luke-king 2024. 9. 16. 14:47

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

문제.


 

 

 

 

 

 

 

풀이.


 

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
		String[] arr = new String[num];
		
		for(int i = 0; i < arr.length; i++ ) {
			arr[i] = sc.next();
		}
		


		for(int i = 0; i < arr.length; i++ ) {
			int n = 0;
			int sum = 0;
						
			for(int j = 0; j < arr[i].length(); j++) {
				
				if(arr[i].charAt(j) == 'O') {
					n++;
				}else {
					n = 0;
				}
				
				
				sum += n;
			}
			System.out.println(sum);
		}


	}
}

 

오늘 문제는 백준의 "OX퀴즈" 문제다.

입력받은 문자열중 "O"가 두 번 연속적으로 나오면  1+2.... 형식으로 되고 "X"가 나온다면 +0을 해준다.

크게 어려움 없는 문제이믈 바로 풀이해보겠다.

 

1. 입력값을 넣기 위해 sc.nextInt()를 사용해 num 변수에 넣어준다..

 

2. 입력값을 담은 num을 String[] 배열을 생성해 사이즈는 num으로 지정해 준다.

 

3. for문을 사용해 num 만큼 OX 테스트를 문자열을 넣어준다.

 

4. n의 변수는 연속적으로 "O"가 나올 경우 1씩 증가해주며 그 외의 경우에는 0을 받는다. 그 후 sum += n을 통해 

반복문 루프가 다 돌 때 최종 값이 나오게 된다.