본문 바로가기

combinations5

[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/42890 코딩테스트 연습 - 후보키 [["100","ryan","music","2"],["200","apeach","math","2"],["300","tube","computer","3"],["400","con","computer","4"],["500","muzi","music","3"],["600","apeach","music","2"]] 2 programmers.co.kr 꽤나 애를 먹었던 문제였다. 내가 풀었던 알고리즘은 1. 속성의 개수를 카운트하고 속성을 조합 2. 각 속성으로 유일성을 만족하는지 확인 3. 현재 조합한 속성이 기존에 조합했던 속성과 겹치는 것이 있는지 다시 조합 후 확인(최소성 만족하는.. 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.
[프로그래머스] 소수 만들기(Python) https://programmers.co.kr/learn/courses/30/lessons/12977 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr from itertools import combinations import math def is_prime_number(x): for i in range(2, int(math.sqrt(x)) + 1): if x % i == 0: return False return True def solution(nums): prime_candidate = l.. 2021. 9. 27.