#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> db[3][2][2][2];
vector<int> split(string str) {
vector<int> v;
char c;
string tmp;
int n;
for(char c : str) {
if(c == ' ') {
if(tmp == "cpp" || tmp == "backend" || tmp == "junior" ||
tmp == "chicken") {
n=0;
}
else if(tmp == "python") {
n=2;
}
else {
n=1;
}
tmp = "";
v.push_back(n);
}
else {
tmp.push_back(c);
}
}
v.push_back(stoi(tmp));
return v;
}
int check(string str) {
int ret=0;
vector<int> v;
char c; string tmp;
for(char c:str) {
if(c == ' ') {
if(tmp == "-") {
v.push_back(-1);
}
else if(tmp == "cpp" || tmp == "backend" || tmp == "junior" ||
tmp == "chicken") {
v.push_back(0);
}
else if(tmp == "python") {
v.push_back(2);
}
else if(tmp == "and") {
tmp = "";
continue;
}
else {
v.push_back(1);
}
tmp = "";
}
else {
tmp.push_back(c);
}
}
v.push_back(stoi(tmp));
//int i = v[0]==-1? 0:v[0]; int j = v[1]==-1? 0:v[1];
//int k = v[2]==-1? 0:v[2]; int l = v[3]==-1? 0:v[3];
int n1 = v[0]==-1? 2:v[0]; int n2 = v[1]==-1? 1:v[1];
int n3 = v[2]==-1? 1:v[2]; int n4 = v[3]==-1? 1:v[3];
// printf("1. %d %d %d %d & %d %d %d %d\n", n1, n2, n3, n4, v[0], v[1], v[2], v[3]);
for(int i = v[0]==-1? 0:v[0]; i<=n1; i++) {
for(int j = v[1]==-1? 0:v[1]; j<=n2; j++) {
for(int k = v[2]==-1? 0:v[2]; k<=n3; k++) {
for(int l = v[3]==-1? 0:v[3]; l<=n4; l++) {
for(int m=0; m<db[i][j][k][l].size(); m++) {
if(db[i][j][k][l][m] >= v[4]) {
ret++;
// printf("%d %d %d %d %d & %d %d %d %d %d\n", i, j, k, l,
// m, n1, n2, n3, n4, db[i][j][k][l].size());
// printf("%d %d\n", db[i][j][k][l][m], v[4]);
}
// printf("2. %d %d %d %d %d & %d %d %d %d %d\n", i, j, k, l,
// m, n1, n2, n3, n4, db[i][j][k][l].size());
}
// ret = n1;
}
}
}
}
return ret;
}
vector<int> solution(vector<string> info, vector<string> query) {
vector<int> answer;
string str;
for(string& str : info) {
vector<int> v = split(str);
db[v[0]][v[1]][v[2]][v[3]].push_back(v[4]);
}
int n;
for(string& str :query) {
answer.push_back(check(str));
}
return answer;
}
'성우리뷰' 카테고리의 다른 글
임시 공부용 (1) | 2021.05.24 |
---|---|
sw 문제 모의 역량테스트) 보물상자 비밀번호 (0) | 2021.05.13 |
2021) 카카오 - 메뉴 리뉴얼 (2) | 2021.05.02 |
. (0) | 2021.01.05 |
우선순위큐 공부 (2) | 2021.01.05 |