비밀 코드 해독
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
- 풀이
- 제한
- 10 ≤ n ≤ 30
- 1 ≤ (q의 길이 = m) ≤ 10
- 30까지의 숫자 중 5개를 고르는 조합 하나씩 돌면서
- 모든 쿼리랑 교집합 했을때의 갯수가 ans 랑 동일해야함
- 시간복잡도
- 30C5 := (24300000 / 120) =202500
- q 최대 10
- 교집합 5
- = 202500 * 10 * 5
- 시간복잡도
- 교집합 갯수가 다르면 out
- 제한
from itertools import combinations
def solution(n, q, ans):
answer = 0
for comb in combinations(range(1,n+1),5):
for i, query in enumerate(q):
if len(set(comb)&set(query))!=ans[i]:
break
else:
answer+=1
return answer
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
| [프로그래머스] 가장 가까운 같은 글자 (0) | 2026.01.20 |
|---|---|
| [프로그래머스][구현] 서버 증설 횟수 (0) | 2025.10.03 |
| [프로그래머스][DP] 거스름돈 (1) | 2025.08.18 |
| [프로그래머스] 줄 서는 방법 (3) | 2025.08.14 |
| [프로그래머스] 인사고과 (3) | 2025.07.26 |