반응형
이 포스팅은 자바 8버전으로 풀이가 됐습니다.
문제
"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다.
"OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다.
OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 길이가 0보다 크고 80보다 작은 문자열이 주어진다. 문자열은 O와 X만으로 이루어져 있다.
출력
각 테스트 케이스마다 점수를 출력한다.
코드
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
32
33
34
|
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
// 8958번 문제
public class Main {
public static void main(String[] args) throws IOException{
try {
BufferedReader rd = new BufferedReader(new InputStreamReader (System.in));
int text_num = Integer.parseInt(rd.readLine());
// 합 값, O일 경우 연산용 변수
int sum=0, O=0;
// 반복 값 입력
for(int i=0;i<text_num;i++) {
// ox 작동할 값, 초기화
String ox = rd.readLine();
sum=0;
O=0;
for(int j=0;j<ox.length();j++) {
if(ox.charAt(j)!='O'){
O=0;
}else if(ox.charAt(j)=='O') {
O++;
sum +=O;
}
}
System.out.println(sum);
}
}
catch(IOException e) {
System.out.println("error");
}
}
}
|
풀이
조건) 출력용 변수, OX 값을 대입할 변수를 구한다.
1) 값을 입력받는다.
2) 문자열(ox)을 입력받는다.
3) ox의 길이만큼 반복한다.
4) 입력받은 문자열의 값이 O인지 X인지 확인하여 sum에 합하여 출력한다.
오타나 문제에 대해서 의문이 있으시면 댓글 부탁드리겠습니다.
감사합니다.
다음 포스팅 때 뵙겠습니다.
반응형
'백준 - Java' 카테고리의 다른 글
[백준 - 1110] [Java] 더하기 사이클 (0) | 2022.05.12 |
---|---|
[백준 - 2884] [Java] 알람 시계 (0) | 2022.05.11 |
[ 백준 - 2675 ][Java] 문자열 반복 (0) | 2022.05.09 |
[ 백준 - 2798 ] [Java] 블랙잭 (0) | 2022.05.08 |
[ 백준 - 2439 ] [Java] 별 찍기 - 2 (0) | 2022.05.08 |