문제
풀이
- 레벨 3
- 풀이법은 간단하다.
- 두 배열 모두 정렬을 한 후 A의 가장 큰 값보다 B의 가장 큰 값이 크면 둘다 배열에서 없애주고 ans에 1을 더해준다.
- 반대로 A의 가장 큰값보다 B에 큰 값이 없다면 점수를 얻을 수 없으므로 B의 가장 작은 값을 날려준다.(그리디)
- 끝까지 반복하여 ans 리턴
코드
from collections import deque
def solution(A, B):
ans = 0
A.sort(reverse = True)
B.sort(reverse = True)
a = deque(A)
b = deque(B)
for i in range(len(A)) :
if a[0] < b[0] :
ans += 1
a.popleft()
b.popleft()
else :
a.popleft()
b.pop()
return ans
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스]2020 카카오 인턴십- 경주로 건설, 파이썬 (0) | 2021.04.02 |
---|---|
[프로그래머스] Summer/Winter Coding(~2018) - 기지국 설치, 파이썬 (0) | 2021.04.01 |
[프로그래머스] 징검다리 건너기- 파이썬, O(n), 모노톤큐 (0) | 2021.03.31 |
[프로그래머스]월간 코드 챌린지 시즌1- 풍선 터트리기, 파이썬 (0) | 2021.03.29 |
2020 KAKAO 코딩테스트- 외벽 점검, 파이썬 (0) | 2021.03.19 |