문제 링크
주의사항
- JAVA를 사용하여 프로그램을 사용하였습니다.
- 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다.
public class Main{
public static void main(String[] args){
}
}
문제 설명
접근 방법
- BufferedReader를 사용하여 입력값을 저장합니다.
- 입력받은 OX문자열 개수의 크기만큼 배열을 생성하였습니다.
- for문을 통해서 각 OX문자열을 배열에 저장하였습니다.
- for문을 통해서 O가 나오면 stack을 +1을 하며 X가 나오면 0으로 초기화합니다.
- stack값을 sum에 더한뒤 하나의 문자열이 끝나면 sum값을 bw에 저장합니다.
- bw에 저장되어 있는 내용을 모두 출력합니다.
결과 코드
import java.util.*;
import java.io.*;
public class Main{
public static void main(String[] args)throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//입력 값을 받는 BufferedReader
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
//입력 값을 출력하는 BufferedWriter
int index = Integer.parseInt(br.readLine()); //OX 문자열 개수
int sum=0;
String[] arr = new String[index]; //개수만큼 배열 생성
for(int i=0;i<index;i++){ //배열에 OX저장
arr[i] = br.readLine();
}
for(int i=0;i<index;i++){ //OX에서 O개수 세는 과정
int stack=0;
for(int j=0;j<arr[i].length();j++){
if(arr[i].charAt(j)=='O'){
stack++;
}else if(arr[i].charAt(j)=='X'){
stack=0;
}
sum +=stack;
}
bw.write(sum + "\n"); //결과 bw에 저장
sum=0; //합계 초기화
}
bw.flush(); //결과 출력
bw.close();
br.close();
}
}
'백준' 카테고리의 다른 글
[백준] 단계별로 풀어보기(단계:6,함수,JAVA)15596번, 정수 N개의 합 (0) | 2021.12.16 |
---|---|
[백준] 단계별로 풀어보기(단계:5,1차원 배열,JAVA)4344번, 평균은 넘겠지 (0) | 2021.12.16 |
[백준] 단계별로 풀어보기(단계:5,1차원 배열,JAVA)1546번, 평균 (0) | 2021.12.15 |
[백준] 단계별로 풀어보기(단계:5,1차원 배열,JAVA)3052번, 나머지 (0) | 2021.12.14 |
[백준] 단계별로 풀어보기(단계:5,1차원 배열,JAVA)2577번, 숫자의 개수 (0) | 2021.12.14 |
댓글