본문 바로가기

분류 전체보기

(158)
99클럽 코테 스터디 17일차 TIL, 백준 / 사자와 토끼 / 17834 🔑 오늘의 학습 키워드 : 이분그래프🔗 문제링크 https://www.acmicpc.net/problem/17834 import sysfrom collections import dequeinput = sys.stdin.readline# 이분 그래프인지 아닌지 판별하는 함수# 각각의 그룹도 같이 returndef is_bipartite(n,graph): color = [None] * (n+1) def bfs(start): queue = deque([start]) color[start] = True while queue: node = queue.popleft() for near in graph[node]: ..
99클럽 코테 스터디 16일차 TIL, 프로그래머스 / N-Queen 🔑 오늘의 학습 키워드 : 재귀🔗 문제링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12952 def solution(n): global answer answer = 0 # 열과 대각선 사용 여부를 체크하는 배열 is_col = [False] * n is_up_down_diag = [False] * (2 * n - 1) is_down_up_diag = [False] * (2 * n - 1) def dfs(row): global answer if row == n: answer += 1 return for col..
99클럽 코테 스터디 15일차 TIL, 프로그래머스 / 소수 찾기 🔑 오늘의 학습 키워드 : 완전 탐색🔗 문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/42839 from collections import dequefrom copy import deepcopyimport mathdef solution(numbers): answer = 0 def is_prime(n): if n == 0 or n == 1: return False for i in range (2, int(math.sqrt(n))+1): if n % i == 0: return False return True ..
99클럽 코테 스터디 14일차 TIL, 프로그래머스 / 징검다리 🔑 오늘의 학습 키워드 : 이분 탐색🔗 문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/43236 def solution(distance, rocks, n): left = 0 right = distance rocks.sort() rocks.append(distance) while left n: break if removed > n: right = mid - 1 else : left = mid + 1 return left-1 🗒️ 공부한 내용 본인의 언어로 정리하기🤔 문제를 보고 든 생각distance가 10 ^..
99클럽 코테 스터디 13일차 TIL, 프로그래머스 / 입국심사 🔑 오늘의 학습 키워드 : 이분 탐색🔗 문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/43238?language=python3def solution(n, times): left = 1 right = max(times) * n while left = n: right = mid else: left = mid + 1 return left 🗒️ 공부한 내용 본인의 언어로 정리하기🤔 문제를 보고 든 생각시간 복잡도가 괴랄한 것을 보니 이것은 떠오르는 대로 풀면 안되고 알고리즘을 활용해서 풀어야한다는 생각이 들었다. 시간 별로 처리할 수 있는 심사처리량이 ..
99클럽 코테 스터디 12일차 TIL, 백준 / 1135 / 뉴스 전하기 🔑 오늘의 학습 키워드 : 트리🔗 문제링크 https://www.acmicpc.net/problem/1135 import sysfrom collections import defaultdictsys.setrecursionlimit(100000)def dfs(node): # 리프 노드인 경우 if not tree[node]: return 0 times = [] for child in tree[node]: times.append(dfs(child)) # 많은 시간을 요하는 것부터 처리 times.sort(reverse=True) max_time = 0 for idx, time in enumerate(times): max..
99클럽 코테 스터디 11일차 TIL, 프로그래머스 / 가장 큰 수 🔑 오늘의 학습 키워드 : 정렬🔗 문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/42746 from functools import cmp_to_keydef solution(numbers): answer = '' # 두 숫자를 바꿔야하는지 여부 def to_swap(x,y): if str(y)+str(x)>=str(x)+str(y) : return 1 else : return -1 numbers.sort(key = cmp_to_key(to_swap)) return str(int(''.join(map(str,numbers)))) # [0,0]이 주어지는 경우 대비해서 str(int())시..
99클럽 코테 스터디 10일차 TIL, 백준 / 11279 / 최대힙 🔑 오늘의 학습 키워드 heap🔗 문제링크 https://www.acmicpc.net/problem/11279 import heapqimport sysinput = sys.stdin.readlinen = int(input())heap = []for _ in range (n): iszero = int(input()) if iszero == 0 : heapq.heappush(heap, iszero*(-1)) print((-1)*heapq.heappop(heap)) else : heapq.heappush(heap, iszero*(-1)) 🗒️ 공부한 내용 본인의 언어로 정리하기🤔 문제를 보고 든 생각어제랑 같은 힙 ⏰ 예상 시간 복잡도 O(N)제한 사항힙 😎 알고리즘 개요힙 ✅ 오..