Solution
1. 배열에 1이 나오면 답을 맞춘 경우로 그때 cnt를 증가시키고 바로 총 점수에 더해준다. 그리고 다음에도 cnt가 나오면 cnt가 또 증가하여 2가 되며 이를 더하면 연속으로 답을 맞추는데에 대한 합을 구할 수 있다.
2. 배열에서 0이 나오면 cnt를 0으로 초기화해준다.
public class Main {
public int solution(int[] a) {
int answer = 0, cnt = 0;
for (int i = 0; i < a.length; i++) {
if (a[i]== 1) {
cnt++;
answer+=cnt;
} else cnt = 0;
}
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] a = new int[n];
for (int i = 0; i < n; i++) {
a[i] = sc.nextInt();
}
System.out.println(T.solution(a));
}
}
'알고리즘 > 인프런_자바코테강의' 카테고리의 다른 글
인프런 8. 등수구하기(Java) (0) | 2022.04.21 |
---|---|
인프런 6. 뒤집은 소수 (Java) (0) | 2022.04.20 |
인프런 5.소수(에라토스테네스 체)_Java (0) | 2022.04.20 |
인프런 4. 피보나치 수열(Java) (0) | 2022.04.20 |
인프런 3. 가위 바위 보 (Java) (0) | 2022.04.20 |