8958번 - OX퀴즈
- 입력받을 문자열의 개수를 Scanner로 입력 받고자 배열의 크기 정하기
- for문을 이용해 각 인덱스에 문자열 입력받기
- if문을 이용해 문자열의 단어를 하나씩 비교
- 비교한 문자가 'O'와 동일할 때 count를 1씩 증가하고, 그렇지 않을 때 count를 0으로 초기화
- sum에 count에 있는 값을 누적에서 더하기
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] arr = new String[sc.nextInt()];
for (int i = 0; i < arr.length; i++) {
arr[i] = sc.next();
}
for (int i = 0; i < arr.length; i++) {
int count = 0;
int sum = 0;
for (int j = 0; j < arr[i].length(); j++) {
if (arr[i].charAt(j) == 'O') {
count++;
} else {
count = 0;
}
sum += count;
}
System.out.println(sum);
}
sc.close();
}
}
처음에 이 문제를 풀 때 배열을 char타입으로 선언하여 문자를 하나씩 입력받으려 했습니다.
하지만 사용자가 몇 개의 문자를 입력할지 몰라 다시 코드를 작성하였고, 배열의 타입을 String으로 선언하였습니다.
감사합니다!
2021.08.04
'Baekjoon' 카테고리의 다른 글
[C++] 11653번 - 소인수분해 (0) | 2021.09.30 |
---|---|
[자바, C++] 1978번 - 소수 찾기 (0) | 2021.09.26 |
[자바] 백준 - 3009번, 4153번, 2557번 (0) | 2021.07.29 |
[백준 - 자바] 수학 - 2558번 / 1546번 / 3052번 (0) | 2021.07.09 |
[백준 - 자바] 문자열 - 11654번 / 11720번 (0) | 2021.07.05 |