코딩/백준
[백준 8958번/1차원 배열] OX퀴즈 - Java
조밈밍
2022. 3. 1. 14:32
https://www.acmicpc.net/problem/8958
8958번: OX퀴즈
"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수
www.acmicpc.net
=> score값에 카운트한 값을 계속 더해간다.
=> 처음 O을 만나면 1을 더하고 if 다음이 O이면 2를 더하고
else 아니면 카운트 값을 0으로 바꾸고 더하지 않는다.
=> O는 다시 1부터 카운트
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String str;
for(int i=0; i<n; i++) {
str = sc.next();
int score = 0, cnt = 0;
for(int j=0; j<str.length(); j++) {
if(str.charAt(j) == 'O') {
cnt++;
score += cnt;
}else {
cnt = 0;
}
}
System.out.println(score);
}
}
}
공부
1) sc.next() : 공백 전까지 입력 받음 (enter 포함)
sc.nextLine() : 한 줄 전체를 입력 받음
2) charAt() : string 타입으로 받은 문자열을 char 타입으로 한 글자만 받는 함수
- String 타입의 참조변수 뒤에 .을 입력하고 charAt('문자번호')