Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

집 짓는 개발블로그

[프로그래머스] LV.3 숫자 게임 (Python) - deque 본문

MySQL

[프로그래머스] LV.3 숫자 게임 (Python) - deque

취준er 2024. 6. 22. 22:43

 

https://school.programmers.co.kr/learn/courses/30/lessons/12987

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

소요시간: 13분

1) A와 B를 둘 다 오름차순 정렬한 뒤, B는 통째로 deque에 집어넣는다. 

2) 반복문으로 A를 돌면서 그때그때 B의 맨 앞에 있는 값(=최솟값)과 비교한다. a가 더 작으면 score에 1을 더한다.

 

 

 

제출한 코드

from collections import deque
def solution(A, B):
    # 매 경기 승점은 +1로 동일 -> 그냥 최대한 많은 경기를 이기면 됨, '이긴 경기' 수가 최대 승점 = 리턴
    # 일대일 매칭
    if min(A) > max(B):
        return 0
    elif max(A) < min(B):
        return len(A)
    score = 0
    A.sort()
    q = deque(sorted(B))
    for a in A:
        while q:
            if a < q[0]:
                q.popleft()
                score += 1
                break
            q.popleft()
    return score