본문 바로가기
PS 문제 풀이/Baekjoon

[BOJ] 백준 2506 점수계산

by 까망 하르방 2022. 1. 8.
반응형

Approach

출처https://www.acmicpc.net/problem/2506

[BOJ] 2495 연속구간 문제에서 조금 발전한 문제라고 볼 수 있다.

 

[BOJ] 백준 2495 연속구간

Approach 출처: https://www.acmicpc.net/problem/2495 문자열의 길이 = 8 로 고정되어 있어서 범위를 쉽게 지정할 수 있다. 두번째 문자부터 시작해서 마지막 문자까지 for문으로 탐색하며 이전 문자와 동일한

zoosso.tistory.com

 

연속되는 만큼 더해지는 값들이 +1씩 누적되는데

for문을 탐색하면서 이겼을 경우, 이전 결과에 따라 더해지는 점수를 처리한다.

 이전에도 이긴경우 +1씩 누적해서 합산

 

만약에 지게되는 경우에는 연속성이 끊어지는 것이므로

더해지는 (누적)값을 0 으로 처리

 

C++

#include <stdio.h>

const int MAX_N = 100;
char str[MAX_N];
int ans, N, val, sum;

int main()
{
       // freopen("input.txt", "r", stdin);
       scanf("%d", &N);

       scanf("%d", &val); // 시작 점수
       ans = sum = val;

       for (int i = 1; i < N; ++i)
       {
              scanf("%d", &val); // 점수

              // 연속해서 이긴 경우
              if (val == 1)
              {
                     sum++;
                     ans += sum;
              }
              // 중간에 진 경우 (연속성 X)
              else if (val == 0)
              {
                     sum = 0;
              }
       }
       printf("%d\n", ans);
}

 

Java

import java.util.Scanner;

public class Main
{
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int arr[] = new int[n];
       
        int result = 0;
        int count = 1;
        int flag = 0;
        for(int i=0; i<n; i++){
            arr[i] = sc.nextInt();
            if(arr[i] == 1)
            {
                if(flag == 1){
                    count++;
                    result = result + count;
                }
                else{
                    result = result + 1;
                }
                flag = 1;
            }
            else
            {
                count = 1;
                flag = 0;
            }
        }
        System.out.println(result);
    }
}
반응형

'PS 문제 풀이 > Baekjoon' 카테고리의 다른 글

[BOJ] 백준 2588 곱셈  (0) 2022.01.11
[BOJ] 백준 2566 최댓값  (1) 2022.01.10
[BOJ] 백준 2495 연속구간  (0) 2022.01.07
[BOJ] 백준 2490 윷놀이  (0) 2022.01.06
[BOJ] 백준 2460 지능형 기차 2  (0) 2022.01.05

댓글