숫자 게임
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
- 내 풀이
- 그리디로 푼 이유 : 승리 시 무조건 고정 1점이기 때문
- A와 B를 정렬해서 최솟값들끼리 비교
- → 근데 그 과정을 python 이진탐색 라이브러리 bisect 이용
- → B가 삽입될 위치가 1 이상이면 A의 최솟값이 더 작다고 판단
- for문으로 B 값들을 돌면서 진행하면
- 1) B 값이 A의 최솟값보다 큰 경우: 갯수 세고 A pop, 비교끝낸 B도 넘어감
- 2) B 값이 A의 최솟값보다 작은 경우: 다음 B값과 비교
from bisect import bisect_left
def solution(A, B):
A.sort()
B.sort()
cnt=0
for idx in range(len(B)):
bi=bisect_left(A,B[idx])
if bi>0:
A.pop(0)
cnt+=1
return cnt
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
| [프로그래머스][그리디] 요격 시스템 (0) | 2025.01.24 |
|---|---|
| [프로그래머스] [구현] 3번 / 아날로그 시계 (0) | 2025.01.23 |
| [프로그래머스][구현] 충돌위험 찾기 (0) | 2024.12.03 |
| [프로그래머스][BFS] 석유 시추 (0) | 2024.11.27 |
| [프로그래머스][구현] 광물 캐기 (0) | 2024.11.27 |