[백준 23275] Knot Knowledge (C#, C++) - soo:bak
작성일 :
문제 링크
설명
배워야 할 n개의 매듭 번호와 그중 n-1개를 배운 목록이 주어집니다.
아직 배우지 않은 매듭 번호 하나를 출력합니다.
접근법
모든 번호가 서로 다르므로, 배워야 할 번호들의 합에서 이미 배운 번호들의 합을 빼면 남은 번호가 됩니다.
Code
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System;
class Program {
static void Main() {
var n = int.Parse(Console.ReadLine()!);
var need = Array.ConvertAll(Console.ReadLine()!.Split(), int.Parse);
var learned = Array.ConvertAll(Console.ReadLine()!.Split(), int.Parse);
var sumNeed = 0;
var sumLearned = 0;
foreach (var v in need)
sumNeed += v;
foreach (var v in learned)
sumLearned += v;
Console.WriteLine(sumNeed - sumLearned);
}
}
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
#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 need(n), learned(n - 1);
for (int i = 0; i < n; i++)
cin >> need[i];
for (int i = 0; i < n - 1; i++)
cin >> learned[i];
int sumNeed = 0, sumLearned = 0;
for (int v : need)
sumNeed += v;
for (int v : learned)
sumLearned += v;
cout << sumNeed - sumLearned << "\n";
return 0;
}