문제
https://www.acmicpc.net/problem/8958
8958번: OX퀴즈
"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수
www.acmicpc.net
문제 설명
문제 풀이
문제를 연속으로 맞힐때마다 보너스 점수가 부여되므로 정답이 연속될 때 보너스 점수를 기록하는 bonus 변수를 만들고 이를 점수를 합산하는 score 변수에 더한다.
중간에 문제를 틀렸을 경우 bonus를 0으로 초기화 한다.
코드
import java.util.*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for(int i = 0; i < T; i++) {
char[] ans = sc.next().toCharArray();
int score = 0;
int bonus = 0;
for(char ch : ans) {
if(ch == 'O') {
bonus++;
score += bonus;
}
else {
bonus = 0;
}
}
System.out.println(score);
}
}
}
'🧑💻코딩 테스트 > 백준 (BOJ)' 카테고리의 다른 글
[코딩테스트/백준 알고리즘] 13023번 - ABCDE (자바, Java 풀이) (0) | 2022.11.01 |
---|---|
[코딩테스트/백준 알고리즘] 1003 - 피보나치 함수 (자바, Java 풀이) (0) | 2022.10.18 |
[코딩테스트/백준 알고리즘] 15649번 : N과 M(1) (자바, Java 풀이) (0) | 2022.09.15 |
[코딩테스트/백준 알고리즘] 1107번 : 리모컨 (자바, Java 풀이) (0) | 2022.09.04 |
[코딩테스트/백준 알고리즘] 1476번 : 날짜 계산 (자바, Java 풀이) (0) | 2022.09.03 |
댓글