본문 바로가기

전체 글74

튜플 문제이해  튜플 (a1, a2, a3, ..., an)이 주어질 때{{a1}, {a1, a2}, {a1, a2, a3}, {a1, a2, a3, a4}, ... {a1, a2, a3, a4, ..., an}}표현할 수 있다위의 식이 주어질때 튜플의 원소 구하기1. 주어진 s를 잘 가공하는게 핵심2.각 요소의 길이를 가지고 오름차순정렬하기3. answer배열에 없으면 담기 (중복되는 숫자는 빼고 담기)  def solution(s): answer = [] s = s[2:-2].split('},{') s = sorted(s,key=lambda x:len(x)) for i in s: numbers = i.split(',') for num in numbers: .. 2024. 6. 18.
자기자신테이블 두번 조인 select * from ECOLI_DATA a left join ECOLI_DATA b on a.parent_id = b.id left join ECOLI_DATA c on b.parent_id = c.id  SELECT *  FROM ECOLI_DATA a JOIN ECOLI_DATA b ON a.parent_id = b.id JOIN ECOLI_DATA c ON b.parent_id = c.id; 2024. 6. 15.
배달 문제이해N 마을개수마을의 연결정보가 주어지고 road의 0,1번인덱스 마을끼리 연결 (양방향연결), 2번인덱스는 걸리는시간1번마을에서 무조건 출발해서 각마을까지의 최소걸리는시간을 구함(다익스트라) -> 이까지가 문제풀이 핵심여기서 K시간 이하로 걸리는 개수 구하기   다익스트라(import heapq)1. 연결정보로 연결그래프생성하고2. times = {} 배열(각마을까지의 최소시간배열) 만들고 infinity 로 한후3. 시작마을의 시간은 0으로 만듬4. 최소힙생성후 (0,1) # (시간,마을) 을 담고 시작 import heapqdef solution(N, road, K): answer = 0 # 다익스트라 (최소비용) costs 만들어서 푸는것 # 연결정보만들기 graph = .. 2024. 6. 12.
양과늑대 이진트리의 각노드에 양 0,늑대1 둘중하나가 있고 루트노드(무조건양) 에서 출발해서 노드들을 돌아다니면 양을 모아야하는데 양의수양이 잡아먹힘  최대모을수 있는 양의 수 구하기info[i] 에 i 노드에 양이 있는지 늑대가 있는지 edges에 각노드의 연결정보들 나열 [부모노드,자식노드] # 기존 집합 a = {1, 2, 3} # 추가할 집합 b = {3, 4, 5} # 집합 a를 업데이트 a.update(b) print(a)  # 출력: {1, 2, 3, 4, 5}   def solution(info, edges): max_v = 0 graph = [[] for _ in range(len(info))] for edge in edges: graph[edge[0]].append(.. 2024. 6. 1.