본문 바로가기

전체 글

(146)
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)제한 사항힙 😎 알고리즘 개요힙 ✅ 오..
99클럽 코테 스터디 9일차 TIL, 백준 / 1927 / 최소 힙 🔑 오늘의 학습 키워드 : heap🔗 문제링크 https://www.acmicpc.net/problem/1927 import sysimport heapqinput = sys.stdin.readline# 최소힙hq = []n = int(input())for i in range (n): x = int(input()) if x == 0: print(0) if len(hq) == 0 else print(heapq.heappop(hq)) else : heapq.heappush(hq,x)python 🗒️ 공부한 내용 본인의 언어로 정리하기🤔 문제를 보고 든 생각heap 구현 문제구나 파이썬 heapq 모듈을 활용해서 해야겠다. 파이썬 heapq 모듈은 최소힙을 지원하기 때문에 그대로 가져다 ..
99클럽 코테 스터디 8일차 TIL, 프로그래머스 / 두 큐 합 같게 만들기 🔑 오늘의 학습 키워드 : Queue🔗 문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/118667 from collections import dequedef solution(queue1, queue2): answer = 0 q1 = deque(queue1) q2 = deque(queue2) sum1 = sum(queue1) sum2 = sum(queue2) # 홀수인 경우 if (sum1 + sum2) % 2 != 0: return -1 while True: if answer == 4 * len(queue1): retur..
99클럽 코테 스터디 7일차 TIL, 프로그래머스 / 과제 진행하기 🔑 오늘의 학습 키워드 : 스택🔗 문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/176962 def solution(plans): stack = [] # 처리 중인 작업을 저장하는 스택 answer = [] # 완료된 작업의 순서를 저장하는 리스트 # 시간 및 소요 시간 정리 for i in range(len(plans)): h, m = map(int, plans[i][1].split(':')) # 시작 시간을 시간과 분으로 분리 plans[i][1] = h * 60 + m # 시작 시간을 분 단위로 변환 plans[i][2] = int(plans[i][2]) ..
99클럽 코테 스터디 6일차 TIL, 프로그래머스 / 테이블 해시 함수 🔑 오늘의 학습 키워드 : 정렬?🔗 문제링크https://school.programmers.co.kr/learn/courses/30/lessons/147354def solution(data, col, row_begin, row_end): answer = 0 data.sort(key = lambda x : (x[col-1],-x[0])) for i in range (row_begin-1, row_end): tmp = 0 for d in data[i]: tmp += d % (i+1) answer ^= tmp return answer 🗒️ 공부한 내용 본인의 언어로 정리하기🤔 문제를 보고 든 생각문제를 이렇게 풀어라 하고 조..