public class Baekjoon8958 {
public static void main(String[] args) {
// String[] ansArr = {"O", "O", "X", "X", "O", "X", "X", "O", "O", "O"};
String[] ansArr = {"O", "O", "O", "O", "X", "O", "O", "O", "O", "X", "O", "O", "O", "O", "X"};
int plus = 1;
int finalCnt = 0;
for(int i = 0; i < ansArr.length; i++) {
if(ansArr[i].equals("O")) {
finalCnt += plus;
plus++;
} else {
plus = 1;
}
}
System.out.print("최종 점수는 ! " + finalCnt);
}
}
// "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다.
// 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다.
// "OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다.
// OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오.
1차원 배열 단계에서 6단계라고 해서 엄청 어려울 거 같았는데,
어제, 엊그저께 풀었던 문제들이 더 어려웠던 거 같다.
간단하게 반복문을 돌려가며 "O" 와 일치한다면 'plus' 값을 더하고 1 증가시키고, "X"라면 점수를 1로 초기화한다.
이 과정을 반복!
반응형
'Algorithm > Baekjoon' 카테고리의 다른 글
[Baekjoon Algorithm] 백준 알고리즘 1152번 단어의 개수 (0) | 2020.12.01 |
---|---|
[Baekjoon Algorithm] 백준 알고리즘 11654번 문자를 입력받아 해당 문자의 아스키코드를 출력하는 프로그램 (0) | 2020.11.30 |
[Baekjoon Algorithm] 백준 알고리즘 3052번 배열의 나머지를 구한 뒤 서로 다른 값이 몇 개 있는지 출력하는 프로그램 (0) | 2020.11.25 |
[Baekjoon Algorithm] 백준 알고리즘 2562번 배열의 최대값과 순번을 출력하시오 (0) | 2020.11.24 |
[Baekjoon Algorithm] 백준 알고리즘 10818번 문제 배열의 최대값, 최소값 구하기 (0) | 2020.11.23 |