단순히 조건이 여러개 주어지는 걸 보고 교집합으로 풀려고 했다. 하지만 넓은 범위의 쿼리가 여려개 주어진다면 매번 교집합 연산을 해주어야 한다는 점에서 효율성이 부족했다. 오히려 상태조건이 4 * 3 * 3 * 3 으로 몇개 되지 않았기 때문에 dp로 배열을 만들거나 경우의 수에 따라 최초 배열에 삽입시켜 준 후 정렬하는게 약 3배정도 빨랐다. 조건이 적을 땐 모든 조건에 대해 입력해두는게 후에 쿼리를 수행함에 있어 유리한걸 잊지말자. 쿼리문제. 상태인자별로 미리 정리하자. 검색을 단순화 하자. 아래는 교집합 코드 그 아래 상태조사 코드 def solution(info, query): answer = [] lang_set = defaultdict(set) job_set = defaultdict(set) ..