코딩 테스트/프로그래머스

Lv3. 숫자 게임

  • -
728x90
반응형

문제 보기 :  숫자 게임

 

프로그래머스

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

programmers.co.kr


문제

  • 정답률 : 57%


작성 코드

import heapq
def solution(A, B):
    answer = 0
    A = [-i for i in A]
    B = [-i for i in B]
    heapq.heapify(A)
    heapq.heapify(B)
    
    while A and B:
        a = -heapq.heappop(A)
        b = -heapq.heappop(B)
        
        if b > a:
            answer += 1
        else:
            heapq.heappush(B,-b)
        
    return answer

풀이

(이거 혹쉬 동적계획법 맞나요..?)

heapq로 풀이했고, 최솟값만 뽑는다는 특징을 가지고 있어서 모든 값에 -를 붙여서 최댓값을 빼도록 변경했다.

A, B 중 하나라도 빈 리스트가 되면 while문을 멈춘다.
a,b를 비교해서 b가 더 클 경우에만 answer += 1을 하고, 아닐 경우엔 B에만 -b를 추가한다.

320x100
728x90

'코딩 테스트 > 프로그래머스' 카테고리의 다른 글

Lv2. 2개 이하로 다른 비트  (0) 2024.09.28
Lv1. 숫자 짝꿍  (0) 2024.09.28
Lv1. 로또의 최고 순위와 최저 순위  (0) 2024.09.26
Lv3. 등굣길  (0) 2024.09.24
Lv2. [3차] 파일명 정렬  (0) 2024.09.24
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.