π λ¬Έμ
[λ¬Έμ μμ½]
- λκ·Ό: μ°¨κ° ν°λμ λ€μ΄κ°λ μμλλ‘
- μμ: μ°¨κ° ν°λμμ λμ€λ μμλλ‘
=> ν°λ λ΄λΆμμ λ°λμ μΆμνμ μ°¨κ° λͺ λμΈμ§ μΆλ ₯
π μ κ·Ό λ°©λ²
μ°¨λ λ²νΈ(string)μ λ€μ΄κ° μμ(int)λ₯Ό μ μ₯νκΈ° μν΄ μ²μμλ vector<make_pair<string, int> > λ₯Ό μ¬μ©ν κΉ μκ°νμ§λ§
μ°¨λ λ²νΈλ₯Ό 빨리 νμν΄μ μμλ₯Ό νμΈνλ κ² μ’μ κ±° κ°μ map<string, int>λ₯Ό μ¬μ©νμλ€.
μΌλ¨ nκ°μ μ€λ§νΌ μ ꡬμμ λ€μ΄κ° μ°¨λμ μμλ₯Ό μ μ₯νλ€.
ZG431SN -> 0
ZG5080K -> 1
ST123D -> 2
ZG206A -> 3
μ΄λ° μμΌλ‘ μ°¨λ λ²νΈλ₯Ό keyλ‘ ν΄μ μ μ₯νλ mapμ μ¬μ©νμλ€.
κ·Έλ¦¬κ³ κ·Έ λ€μ nκ°μ μ€λ§νΌμ μΆκ΅¬μμ λμ€λ μ°¨λμ΄ μ μ₯ν λλ λͺ λ²μ§Έμλμ§ κ³μ°νκ³ κ·Έ κ°μ λ°±ν°μ μ μ₯νλ€.
μ°¨λλ²νΈ | ν΄μ₯ μμ | μ μ₯ μμ | |
ZG206A | 0 | 3 | v[0] |
ZG431SN | 1 | 0 | v[1] |
ZG5080K | 2 | 1 | v[2] |
ST123D | 3 | 2 | v[3] |
κ·Έλ¦¬κ³ μ΄μ μΆμν μ°¨λμ κ°μλ₯Ό νμΈν΄μΌ νλ€.
"μΆμμ νλ€" -> λ¨Όμ λ€μ΄κ° μ°¨λ³΄λ€ λ΄κ° λ¨Όμ λμ€λ©΄ μΆμν κ±°
v[0] = 3 (ZG206A) -> μ μΌ λ§μ§λ§μ λ€μ΄κ°λ€.
- v[1] = 0
- ZG206Aλ μ μΌ λ§μ§λ§μ λ€μ΄κ°λλ° ν΄μ₯ μμκ° μ μΌ λΉ¨λμΌλ―λ‘ λ°λμ μΆμ
v[1] = 0 (ZG431SN)
- v[2] = 1 | μΆμ X
- v[3] = 2 | μΆμ X
v[2] = 1 (ZG5080K)
- v[3] = 2 | μΆμ X
μ΄κ±°λ₯Ό μ 리νλ©΄
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
if (v[i] > v[j]) {
cnt++;
break;
}
}
}
μ΄λ° μμΌλ‘ μΆμν μ°¨λμ κ°μλ₯Ό κ³μ°ν μ μλ€.
π ν΄κ²° μ½λ
#include <iostream>
#include <map>
#include <vector>
using namespace std;
int main() {
ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
int n; cin >> n; // μ°¨λμ μ
string s;
map<string, int> m;
vector<int> v(n);
for (int i = 0; i < n; i++) {
cin >> s;
m[s] = i; // λ€μ΄μ¨ μμλλ‘ κΈ°λ‘
}
for (int i = 0; i < n; i++) {
cin >> s;
v[i] = m[s]; // λμ€λ μ°¨λμ λ€μ΄μ¨ λ²νΈλλ‘ λ²‘ν°μ μ μ₯
}
int cnt = 0; // μΆμν μ°¨λμ κ°μ
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
if (v[i] > v[j]) {
cnt++;
break;
}
}
}
cout << cnt;
}
β οΈ ν리거λ μκ°μ΄ μ€λ κ±Έλ¦° μ΄μ
π λ°°μ΄ μ
map: keyμ value ν μμΌλ‘ μ΄λ£¨μ΄μ§ μλ£ν
- κ° λ Έλκ° key, value μμΌλ‘ μ΄λ£¨μ΄μ§ Tree ꡬ쑰λ₯Ό λκ³ μμ
- μΌλ° mapμ key κ°μ μ€λ¦μ°¨ μμΌλ‘ μ λ ¬νμ¬ μ μ₯ν¨. (μλκ° μ€μνλ©΄ unordered_mapμ μ¬μ©νκΈ°λ ν¨)
'π©βπ» μκ³ λ¦¬μ¦ > λ¬Έμ ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BOJ/13904/C++] κ³Όμ (0) | 2025.06.26 |
---|---|
[BOJ/5430/C++] AC (0) | 2025.06.25 |
[BOJ/6588/C++] 골λλ°νμ μΆμΈ‘ (0) | 2025.06.22 |
[BOJ/1780/C++] μ’ μ΄μ κ°μ (2) | 2025.06.20 |
[BOJ/2599/C++] μμ΄ (0) | 2025.05.29 |