Search
Duplicate

숫자 게임

문제 설명 및 제한사항

아이디어 및 해결 방법

코드

import bisect def solution(A, B): # 이분탐색 + 그리디로 풀어봅니다. # A[i] 각각에 대해서, 정렬된 B의 [bisect_right 위치 + 1] 값을 pop answer = 0 B.sort() for i in range(len(A)): idx = bisect.bisect_right(B, A[i]) if idx < len(B): # 가능한 가장 작은 수를 써서 이기는 방법으로 # 그리디하게 해결합니다. answer += 1 B.pop(idx) else: # 아무리 큰 숫자를 써도 못 이기면 # 가장 작은 숫자를 털어버립니다. B.pop(0) return answer
Python
복사

출처

프로그래머스 코딩테스트 연습 https://school.programmers.co.kr/learn/challenges