작성일 :

문제 링크

24544번 - 카카오뷰 큐레이팅 효용성 분석

설명

콘텐츠 흥미도와 My뷰 등록 여부가 주어질 때, 전체 흥미도 합과 미등록 콘텐츠의 흥미도 합을 출력하는 문제입니다.


접근법

흥미도 배열을 모두 합해 전체 합을 구합니다.
등록 여부가 0인 콘텐츠만 따로 더해 두 번째 값을 계산합니다.


Code

C#

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using System;
using System.Text;

class Program {
  static void Main() {
    var parts = Console.In.ReadToEnd().Split();
    var idx = 0;
    var n = int.Parse(parts[idx++]);

    var a = new int[n];
    for (var i = 0; i < n; i++)
      a[i] = int.Parse(parts[idx++]);

    var sumAll = 0;
    for (var i = 0; i < n; i++)
      sumAll += a[i];

    var sumNot = 0;
    for (var i = 0; i < n; i++) {
      var b = int.Parse(parts[idx++]);
      if (b == 0) sumNot += a[i];
    }

    var sb = new StringBuilder();
    sb.AppendLine(sumAll.ToString());
    sb.AppendLine(sumNot.ToString());
    Console.Write(sb);
  }
}

C++

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <bits/stdc++.h>
using namespace std;
typedef vector<int> vi;

int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);

  int n; cin >> n;
  vi a(n);
  for (int i = 0; i < n; i++)
    cin >> a[i];

  int sumAll = 0;
  for (int i = 0; i < n; i++)
    sumAll += a[i];

  int sumNot = 0;
  for (int i = 0; i < n; i++) {
    int b; cin >> b;
    if (b == 0) sumNot += a[i];
  }

  cout << sumAll << "\n" << sumNot << "\n";

  return 0;
}