🍋 ⚾️ 💻 🎬 🎮

coding_test 70

99클럽 코테 스터디 _ 20일차 TIL (우선순위 큐)

[백준] 19598. 최소 회의실 개수 / 골드5코드 변수 정의meetings : 각 회의의 시작 시간과 종료 시간을 담은 리스트pq : 우선순위 큐start, end : 회의 시작 시간, 회의 종료 시간Priority Queue시간복잡도 : O(N logN)import heapqdef meeting_room(): N = int(input()) meetings = [list(map(int, input().split())) for _ in range(N)] meetings.sort() # 회의 시작 시간을 기준으로 정렬 pq = [] # 우선순위 큐 생성 heapq.heappush(pq, meetings[0][1]) # 1번째 회의 종료 시간을 힙에 push f..

99클럽 코테 스터디 _ 19일차 TIL (그리디)

[백준] 1946. 신입 사원 / 실버1코드 변수 정의applicants : 입력받은 지원자 정보를 저장하는 리스트max_new : 선발할 수 있는 신입사원의 최대 인원수b : 지원자의 면접 성적min_b : 현재 지원자까지의 최소 면접 성적   *초기 값은 무한대 값으로 초기화한다.Greedy시간복잡도 : O(N logN)def recruit(): N = int(input()) applicants = [list(map(int, input().split())) for _ in range(N)] # 지원자 정보 저장 리스트 applicants.sort() max_new = 0 # 선발 가능 최대 인원수 min_b = float('inf') # 최솟값을 무한대 값으로 초기화 ..

99클럽 코테 스터디 _ 18일차 TIL (우선순위 큐)

[백준] 17503. 맥주 축제 / 실버1코드 변수 정의N  :  선택해야 하는 맥주의 개수M  :  최소로 요구되는 선호도 합K  :  주어지는 전체 맥주의 개수beers  :  [선호도, 도수 레벨] 형태로 저장된 K개의 맥주 정보 리스트 pq  :  선택한 맥주의 선호도를 저장할 최소 힙preference  :  현재까지 선택한 맥주의 선호도 합Priority Queue시간복잡도 : O(KlogN)import heapqdef drink(): N, M, K = map(int, input().split()) beers = [list(map(int, input().split())) for _ in range(K)] # K개의 맥주 정보를 (선호도, 도수 레벨) 형태로 저장 beers.so..

[LeetCode] 1211. Queries Quality and Percentage (AGGREGATE)

🗂️  문제[SQL50] 1211. Queries Quality and Percentage (AGGREGATE)✍🏻  풀이 문제 해석주어진 Queries 테이블에서 각 query_name에 대해 다음을 계산하는 문제Qualityquery quality는 각 query_name에 대해 다음 식을 평균한 값rating / position   (각 쿼리의 rating을 position으로 나눈 값)위의 값들의 평균을 구하는 것이다.소수점 둘째 자리까지 반올림Poor Query Percentagerating이 3 미만인 쿼리의 비율을 구한다.rating이 3 미만인 개수 / 해당 query_name의 전체 개수소수점 둘째 자리까지 반올림 코드SELECT query_name, ROUND(AVG(rating..

99클럽 코테 스터디 _ 17일차 TIL (그리디)

[백준] 11399. ATM / 실버4코드 변수 정의times : 각 사람이 돈을 인출하는 데 걸리는 시간 리스트Greedy시간복잡도 : O(N^2)def atm(): N = int(input()) times = list(map(int, input().split())) # 각 사람이 돈을 인출하는 데 걸리는 시간 times.sort() # 대기 시간을 최소화하기 위해 오름차순 정렬 ans = sum([sum(times[:i+1]) for i in range(N)]) # 각 사람이 기다려야 하는 총 시간 계산 return ansprint(atm())   풀이 방식오름차순 정렬기다리는 시간의 합을 최소로 하려면, 처리 시간이 짧은 사람부터 먼저 인출해야 한다.[3, 1, 4, 3,..

[LeetCode] 1633. Percentage of Users Attended a Contest (AGGREGATE)

[SQL50] 1633. Percentage of Users Attended a Contest (AGGREGATE) SELECT contest_id, ROUND(COUNT(DISTINCT user_id) / (SELECT COUNT(1) FROM Users)::decimal * 100, 2) AS percentageFROM RegisterGROUP BY contest_idORDER BY percentage DESC, contest_id; Decimaldecimal  :  고정 소수점(fixed-point) 숫자형 타입integer, float와 달리 정확한 소수 연산이 가능하다.decimal(p, s)p  :  전체 자릿수(precision,  최대 131072자리)s  :   소수점 이하 ..

99클럽 코테 스터디 _ 16일차 TIL (그리디)

[백준] 27961. 고양이는 많을수록 좋다 / 브론즈1코드 변수 정의cnt : 연산 횟수madoka_cat : 현재 고양이 수Greedy시간복잡도 : O(logN)def f(): N = int(input()) cnt, madoka_cat = 0, 0 # 연산 횟수(cnt)와 현재 고양이 수(madoka_cat) 초기화 while madoka_cat    풀이 방식 고양이 수를 증가시키는 과정에서 최소한의 연산 횟수를 찾는 문제로, 고양이 수 madoka_cat은 두 가지 방법으로 증가할 수 있다.생성 마법    →     +1 연산복제 마법    →     x2 연산마도카의 집에 있는 고양이 일부 또는 전부를 대상으로 하여 복제한다.0마리 이상 k마리 이하의 고양이를 추가할 수 있으므로..

728x90
반응형