■코테 기출문제/Summer,Winter Coding(~2018)
[Level 3] 숫자 게임
영민 박
2020. 5. 12. 21:20
문제 : https://programmers.co.kr/learn/courses/30/lessons/12987
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
▶ 코드
# 문제: A의 순서를 알고있을때, B의 순서 조작해서 최대한 많이 이겨라.
import heapq
def solution(A, B):
A.sort(reverse=True) # A를 내림차순 정렬
B = [-i for i in B] # B를 음수화 (최대힙 만들기 위해..)
heapq.heapify(B) # B를 힙구조로 변환 (B는 최대힙)
c = 0
for a in A:
if a >= abs(B[0]): # 음수화된 B에 절대값 씌워서 비교 !
continue
else:
heapq.heappop(B) # B의 원소가 빠져나가도 최대힙 구조를 유지
c += 1
print(c)
return c