⚡️algorithm/accepted 13

[combinations, Counter, 빈도] 프로그래머스 lv2. 메뉴리뉴얼

문제 from itertools import combinations def solution(orders, course): comb_dic = {long: {} for long in course} selected = set() for long in course: best_num = 2 for guest in orders: comb = list(map(sorted, combinations(guest, long))) comb = ["".join(arr) for arr in comb if len(arr) > 0] for e in comb: if not e: continue key = "".join(sorted(e)) if key in comb_dic[long].keys(): comb_dic[long][key] ..

[queue] 프로그래머스 lv2. 두큐합 같게 만들기 (feat. deque의 주요 메서드)

아직 잘 모르겠는 문제, 외우고 쳐보는 것도 잘 안된다. 참고한 후, 답안 from collections import deque def solution(queue1, queue2): answer = 0 mid = sum(queue1) + sum(queue2) if mid % 2 != 0: return -1 tot //= 2 q1 = deque(queue1) q2 = deque(queue2) sum1 = sum(queue1) sum2 = sum(queue2) while q1 and q2: if sum1 > mid: tmp = q1.popleft() sum1 -= tmp sum2 += tmp elif sum1 < mid: tmp = q2.popleft() q1.append(tmp) sum1 += tmp su..

[DFS, 기본] 백준 2667. 단지번호 붙이기

import sys sys.stdin = open(&#39;graph input.txt&#39;, &#39;rt&#39;) input = sys.stdin.readline size = int(input()) graph = [list(map(int, input().rstrip())) for _ in range(size)] print(graph) apt = [] dx = [1,-1,0,0] dy = [0,0,1,-1] def DFS(x,y): global cnt if 0 탐색 시간복잡도 단지수(V) : N**2 연결(E) : 4*N**2 O(V+E) : 5N**2 => N*2 => 25\*2 => 625 : 2억보다 작음 자료구조 리스트? visited => graph 문제 접근하는 루틴을 연습해봤다. 추가..