[Programmers] Lv2. μμ | C++
2023. 6. 15. 19:22γCoding Test/Programmers
πλ¬Έμ 보λ¬κ°κΈ°
π¨π»νμ΄ κ³Όμ
μ²μμλ λ°±νΈλνΉμ ν΅ν΄ μ‘°ν©μΌλ‘ νμλλ°, ν μ€νΈ μΌμ΄μ€ 1λ²μμ μκ° μ΄κ³Όκ° λ¬μ΅λλ€. μ무λλ μ΅λ μ λ ₯ λ²μμΈ 30κ°μ μ·μ΄ λ€μ΄μμλ κ² κ°λ€μ. μ΄λ»κ² ν μ§ κ³ λ―Όνλ€κ°, μ΄λ ν λΆμ μνμ μμ΄λμ΄λ₯Ό λ³΄κ³ κΉ¨λ¬μμ΅λλ€.
- μ½λλ ν루μ μ΅μ ν κ°μ μμμ μ λλ€.
- μμ μ’
λ₯ Aμ μ· κ°μκ° nκ°λΌλ©΄, ν΄λΉ μ’
λ₯μ μ·λ€ μ€ νλλ₯Ό κ³¨λΌ μ
κ±°λ, μ μ
λ κ²½μ°μ μλ λ€μκ³Ό κ°λ€.
- \( {n \choose 1} + {n \choose 0} = n + 1 \)
- λ°λΌμ, μμ μ’
λ₯ A, B, Cμ κ° μ· κ°μκ° n, m, kκ°λΌλ©΄, μ΄ κ²½μ°μ μλ λ€μκ³Ό κ°λ€.
- \( ({n \choose 1} + {n \choose 0}) \times ({m \choose 1} + {m \choose 0}) \times ({k \choose 1} + {k \choose 0}) - 1\)
- λ¬Έμ 쑰건μμ μ½λλ 무쑰건 ν κ° μ΄μ μμμ μ λλ€κ³ νμΌλ, μ무κ²λ μ μ§ μμ κ²½μ°λ₯Ό νλ λΊ κ²
μ΄λ° λ¬Έμ λ μνμ μμ΄λμ΄ μΌμ€κ° μ’μ§ μμΌλ©΄ λͺ» νλ €λμ...
βοΈμμ€ μ½λ λ° κ²°κ³Ό
#include <string>
#include <vector>
#include <map>
using namespace std;
using ClothesCount = map<string, int>;
ClothesCount RegisterClothes(const vector<vector<string>>& clothes) {
ClothesCount result;
for (const auto clothesInfo : clothes) {
string type = clothesInfo[1];
result[type]++;
}
return result;
}
int FindCombination(const ClothesCount& clothes) {
int count = 1;
for (const auto clothesCount : clothes)
count *= (clothesCount.second + 1); // nC1 + nC0
return count - 1; // μ무κ²λ μ μ
λ κ²½μ° μ μΈ
}
int solution(vector<vector<string>> clothes) {
ClothesCount myClothes = RegisterClothes(clothes);
int answer = FindCombination(myClothes);
return answer;
}
728x90
λ°μν
'Coding Test > Programmers' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Programmers] Lv2. λ΄μ€ ν΄λ¬μ€ν°λ§ | C++ (0) | 2023.06.20 |
---|---|
[Programmers] Lv2. κΈ°λ₯κ°λ° | C++ (0) | 2023.06.16 |
[Programmers] Lv2. νλ ¬μ κ³±μ | C++ (0) | 2023.06.15 |
[Programmers] Lv2. n^2 λ°°μ΄ μλ₯΄κΈ° | C++ (0) | 2023.06.14 |
[Programmers] Lv2. μ°μ λΆλΆ μμ΄ ν©μ κ°μ | C++ (1) | 2023.06.14 |