알고리즘/문자열, 정렬
[알고리즘] 점수계산 with Java
VIPeveloper
2022. 3. 5. 13:08
728x90
반응형
주말 알고리즘 공부쓰~
오늘 배운 것
1. 문제 풀이
. 배열 0번째는 미리 계산해두고, 1번째부터 돌면서 하나 이전꺼 + 1해주는 로직을 구상하고 코드를 짯다.
. 강의에서는 배열 자체도 잘 안쓰는 것 같다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
int i = kb.nextInt();
int[] arr = new int[i];
for (int j = 0; j < arr.length; j++) {
arr[j] = kb.nextInt();
}
solution(i,arr);
}
private static void solution(int i, int[] arr) {
int answer = 0;
int[] tmp = new int[arr.length];
if(arr[0]==1){
tmp[0]=1;
answer++;
}else{
tmp[0]=0;
}
for (int j = 1; j < arr.length; j++) {
if(arr[j]==1){
tmp[j] = tmp[j-1]+1;
answer += tmp[j];
}
}
System.out.println(answer);
}
private static void solution2(int i, int[] arr) {
int answer = 0;
int tmp = 0;
for (int j = 0; j < arr.length; j++) {
if(arr[j]==0){
tmp = 0;
}
else{
tmp++;
answer+=tmp;
}
}
System.out.println(answer);
}
}
728x90
반응형