본문 바로가기

Permutations4

[Python] 순열 조합 구현 순열 def permute(self, nums: List[int]) -> List[List[int]]: answer = [] prev_elements = [] def dfs(elements): if len(elements) == 0: answer.append(prev_elements[:]) return for e in elements: next_elements = elements[:] next_elements.remove(e) prev_elements.append(e) dfs(next_elements) prev_elements.pop() dfs(nums) return answer 조합 def combine(self, n: int, k: int) -> List[List[int]]: answer = [] n.. 2022. 4. 8.
[프로그래머스] 불량 사용자 (Python) https://programmers.co.kr/learn/courses/30/lessons/64064 코딩테스트 연습 - 불량 사용자 개발팀 내에서 이벤트 개발을 담당하고 있는 "무지"는 최근 진행된 카카오이모티콘 이벤트에 비정상적인 방법으로 당첨을 시도한 응모자들을 발견하였습니다. 이런 응모자들을 따로 모아 불량 programmers.co.kr 쉬울 줄 알았는데 생각보다 오래 걸렸다.. 처음 풀이는 ban 사용자 가지고 조합을 짜서 user_id를 만족하면 answer를 추가해주는 방식으로 코드를 짰다. 처음 풀이 import re from collections import Counter from itertools import product def solution(user_id, banned_id): .. 2021. 11. 9.
[프로그래머스] 피로도 (Python) https://programmers.co.kr/learn/courses/30/lessons/87946 코딩테스트 연습 - 피로도 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던 programmers.co.kr 그리디 + 완전 탐색으로 풀었다. 던전 총개수를 세고, 최대 던전 개수부터 내려오면서 순열을 만든 다음 모두 탐색하며 조건에 만족하면 바로 return 하도록 코드를 작성했다. 나의 풀이 from itertools import permutations def solution(k, dungeons): dungeons_count = len(dungeons) d.. 2021. 11. 1.
Python 순열, 조합 (permutations, combinations, product) 파이썬 기본 라이브러리 itertools를 활용해서 여러 조합을 구할 수 있다. num_list = [1,2,3,4] # 순서 상관 있을 경우 from itertools import permutations list(permutations(num_list,2)) list(permutations(num_list,3)) # [(1, 2), (1, 3), (1, 4), (2, 1), (2, 3), (2, 4), (3, 1), (3, 2), (3, 4), (4, 1), (4, 2), (4, 3)] # [(1, 2, 3), (1, 2, 4), (1, 3, 2), (1, 3, 4), (1, 4, 2), (1, 4, 3), (2, 1, 3), (2, 1, 4), (2, 3, 1), (2, 3, 4), (2, 4, 1).. 2021. 9. 27.