전체 글

행복한띠용이의 코딩 블로그입니다.
·Algorithm/PS
📚 문제Level 3💡 풀이 과정...📌포인트...💻 코드def solution(coin, cards): n = len(cards) hands = cards[:int(n / 3)] card_index = int(n / 3) need_cards = [] pair = 0 for card1 in hands: if n + 1 - card1 not in hands: need_cards.append(n + 1 - card1) else: pair += 1 pair = pair // 2 sub_cards = [card for card in cards[card_index: card_index + 2 * (p..
·Algorithm/PS
💡 풀이 과정모든 조합을 빠짐없이 완전 탐색하는 문제이다.먼저 combination 을 사용해서 주사위를 사용할 수 있는 모든 조합을 result 에 생성한다.해당 조합은 [[[0,1], [2,3]], ... ] 이런 식으로 담겨있다.첫 번째는 1, 2 번째 주사위와 2, 3 번째 주사위를 비교한다는 뜻이다.해당 result 에 있는 조합 주사위에서 나올 수 있는 합과 경우의 수를 구한다.product 를 사용해 모든 조합을 구하고 sum 을 사용해 합을 구한다.Counter 를 사용해서 sum 을 카운팅해 중복을 없앤다.{6: 6, 7 : 10, ...} 이런 식으로 표현된다.이는 주사위의 조합에서 6이 나오는 경우는 6가지, 7이 나오는 경우는 10가지임을 나타낸다.이후 조합 sub1, sub2 에..
·Algorithm/PS
📚 문제Level 2💡 풀이 과정간선들을 일단 모두 dictionary 에 저장한다.만약 한 정점에서 뻗어나가는 간선의 개수가 3개 이상이라면 해당 정점이 무조건 생성된 정점이다!이는 일반적인 도넛, 막대, 8자 모양의 그래프 중에서 어떤 정점들도 3개 이상의 출발 간선을 가지지 못한다는 것이다.3개 이상의 "출발" 간선을 가지지 못함에 주의하자. "도착" 간선은 3개 이상 가질 수 있다.또한 한 정점에서 아래와 같은 기준으로 그래프를 판단할 수 있다.막대 모양 그래프한 정점에서 다음 정점으로 계속해서 이동할 때 더 이상 이동할 수 없는 정점이 존재한다면 막대 모양이다.8자 모양 그래프한 정점에서 다음 정점으로 계속해서 이동 중 출발 간선의 개수가 2개가 존재한다면 해당 그래프는 8자 모양이다.도넛 ..
·Algorithm/PS
📚 문제Level 1조건 확인만 잘하고 구현만 잘하면 되는 문제💡 풀이 과정N * N gift_score[][]행렬을 생성한다.gift_score[giveIndex][takeIndex] 로 주고받은 선물과 선물 지수를 표로 나타낸다. total_score[] 에 총 선물 지수를 담아낸다.gift_score[][] 를 돌면서 주고받은 기록이 없거나 같은 수라면 선물 지수에 따라 선물을 주고 받는다.선물을 주고 받았다면 더 많은 선물을 준 사람이 선물을 받는다.📌포인트💻 코드def solution(friends, gifts): n = len(friends) gift_score = [[0 for _ in range(n)] for _ in range(n)] for gift in gifts..
·Algorithm/PS
📚 문제Lv 2연속된 부분 수열의 합을 찾아가는 과정과 동일하다.목표값을 계산하고 하나의 큐를 선택한다.큐의 총 합이 목표값보다 작으면 push 하고 목표값보다 크면 deque 한다큐의 길이가 💡 풀이 과정총 합의 절반을 목표값으로 정한다. q1 의 총 합이 목표값보다 작으면 append 하고 목표값보다 크면 popleft 한다.💻 코드from collections import dequedef solution(queue1, queue2): q1 = deque(queue1) q2 = deque(queue2) sum = 0 for q in queue1: sum += q q1_sum = sum for q in queue2: sum += q s..
행복한띠용이
행복한띠용이의 코딩