[백준] 8958. OX퀴즈
문제
https://www.acmicpc.net/problem/8958
풀이
OX퀴즈의 결과를 입력 받은 후 점수를 구하는 문제이다. 단 연속으로 문제가 맞는 경우는 그 문제까지 맞은 개수가 바로 점수가 된다. 즉 [O O O X] 라면 1+2+3점이 되어 총 6점이 된다.
우선 테스트 케이스를 입력 받고 그 갯수만큼의 크기를 가지는 String 배열을 생성한다.
반복문을 돌려서 StringTokenizer로 O, X를 입력 받아 String 배열에 저장한다.
다시 반복문을 String 배열을 돌린 후 입력 받은 OX 문장을 체크하기 위해 각 항목을 다시 반복문으로 돌린다.
charAt()을 통해 O가 있는지 체크하고 있으면 count++을, 없으면 다시 count를 0으로 저장한다.(연속 되는 O의 개수를 찾는 것이기 때문에)
그리고 합을 구해서 배열의 index별 sum을 출력해준다.
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Q_8958 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int test = Integer.parseInt(br.readLine());
String[] testArr = new String[test];
for(int i = 0; i < testArr.length; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
testArr[i] = st.nextToken();
}
for(int i = 0; i < testArr.length; i++) {
int count = 0;
int sum = 0;
for(int j = 0; j < testArr[i].length(); j++) {
if(testArr[i].charAt(j) == 'O') {
count++;
}else {
count = 0;
}
sum += count;
}
System.out.println(sum);
}
}
}
Author And Source
이 문제에 관하여([백준] 8958. OX퀴즈), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@bonni/백준-8958.-OX퀴즈저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)