[백준 9838] XMAS (C#, C++) - soo:bak
작성일 :
문제 링크
설명
각 게스트가 선택한 선물 번호가 주어질 때, 각 선물을 누가 가져갔는지 출력하는 문제입니다.
선물 번호와 게스트 번호는 1부터 n까지의 일대일 대응입니다.
접근법
게스트 번호와 선택한 선물 번호를 읽어 역매핑 배열을 만듭니다.
이후 선물 번호 순서대로 수령한 게스트 번호를 출력합니다.
Code
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using System;
class Program {
static void Main() {
var n = int.Parse(Console.ReadLine()!);
var rec = new int[n + 1];
for (var k = 1; k <= n; k++) {
var g = int.Parse(Console.ReadLine()!);
rec[g] = k;
}
for (var i = 1; i <= n; i++)
Console.WriteLine(rec[i]);
}
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#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 rec(n + 1);
for (int k = 1; k <= n; k++) {
int g; cin >> g;
rec[g] = k;
}
for (int i = 1; i <= n; i++)
cout << rec[i] << "\n";
return 0;
}