🌏 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1️⃣ 풀이 def solution(citations): answer = 0 for i in range(max(citations),0,-1): if len([x for x in citations if x >= i]) >= i: answer = i break return answer
🌏 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1️⃣ 풀이 functools의 cmp_to_key를 이용한 방법 functools.cmp_to_key(func)는 정렬 함수의 key 매개변수에 함수를 전달할 때 사용하는 함수이다. func() 함수는 두 개의 인수를 입력하여 첫 번째 인수를 기준으로 그 둘을 비교하고 작으면 음수, 같으면 0, 크면 양수를 반환하는 비교 함수이어야 한다. from functools import cmp_to_key def sorting(n1, n2): return int(n2 + n1) - int(n1 + n2) d..
🌏 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👽 풀이 def solution(array, commands): answer = [] for command in commands: start, end, k = command answer.append(sorted(array[start-1:end])[k-1]) return answer
🌏 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👽 풀이 heapq에서 pop()을 해주면 최댓값이 나오고 heappop()을 하면 최솟값이 나온다 import heapq def solution(operations): heap = [] for operation in operations: op, num = operation.split() if op == 'I': heapq.heappush(heap, int(num)) else: if heap: if int(num) > 0: heap.pop() else: heapq.heappop(heap) return..
🌏문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👽풀이 import heapq def solution(jobs): answer = 0 time = 0 start = -1 i = 0 heap = [] while i < len(jobs): for j in jobs: if start < j[0] 0: current = heapq.heappop(heap) start = time time += current[0] answer += (time - current[1]) i += 1 else: time += 1 return int(answer/len(jobs))