https://school.programmers.co.kr/learn/courses/30/lessons/388352
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
코드 & 풀이
from itertools import combinations
def solution(n, q, ans):
possible_code = list(combinations(range(1, n + 1), 5))
total_cnt = 0
for code in possible_code:
make_code = True
for i in range(len(q)):
if len(set(code) & set(q[i])) != ans[i]:
make_code = False
break
if make_code:
total_cnt += 1
return total_cnt
주어진 n까지의 수로 만들 수 있는 길이 5의 조합을 일단 다 구합니다.
그리고 이 조합을 돌리면서 주어진 리스트 q와 비교합니다.
이때 시스템 결과 (비밀번호와 현재 조합과 일치하는 개수)가 불일치하면 flag를 False로 변경 후 break합니다.
모두 일치했으면 count를 올려줍니다.
728x90
'프로그래머스 > Lv.2' 카테고리의 다른 글
2022 KAKAO BLIND RECRUITMENT > 주차 요금 계산 - Python, ceil(올림), defaultdict (0) | 2025.03.01 |
---|---|
[PCCP 기출문제] 2번 > 석유 시추 - Python, bfs, 누적합 (0) | 2025.02.27 |
[PCCP 기출문제] 3번 > 충돌위험 찾기 - Python, Counter (0) | 2025.02.27 |
[PCCP 기출문제] 2번 > 퍼즐 게임 챌린지 - Python, binary_search(이진 탐색) (0) | 2025.02.26 |
올바른 괄호 - C++, Stack (0) | 2025.02.22 |