[백준/JAVA] 2506번 점수계산

정은아·2024년 5월 2일

[알고리즘] 수학 모음

목록 보기
76/152
post-thumbnail

문제

내 풀이

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main extends Exception {
    public static void main(String[] args) throws IOException {
        // 문제가 주어졌을 때, 연속으로 맞히면 가산점을 준다.
        // question[i]와 question[i+1]을 비교해서 둘 다 1이면 +1 한다.

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();

        int num = Integer.parseInt(br.readLine());
        int[] question = new int[num + 1];
        int count = 0;
        int answer = 0;

        StringTokenizer st = new StringTokenizer(br.readLine());

        for (int i = 1; i <= num; i++) {
            question[i] = Integer.parseInt(st.nextToken());

            if (question[i-1] == 1 && question[i] == 1) {
                count++;
                answer += count;
            } else if (question[i-1] == 0 && question[i] == 1){
                // 다음에 연속으로 정답일 수 있으니까 1을 준다.
                count = 1;
                answer += 1;
            }else  if(question[i-1] == 1 && question[i] == 0){
                count = 0;
            }else{
                count = 0;
            }
        }

        sb.append(answer);
        System.out.println(sb.toString());
    }
}

느낀점

배열 범위 주기 늠 어려워~ 하지만 한큐에 정답 맞혔죠?

profile
꾸준함의 가치를 믿는 개발자

0개의 댓글