코딩 테스트/Level 3
[2024 KAKAO WINTER INTERNSHIP] n + 1 카드게임
컴닥
2024. 12. 18. 13:07
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/258707#
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
def solution(coin, cards):
def check(deck1, deck2):
for card in deck1:
if (order_card := target - card) in deck2:
deck1.remove(card)
deck2.remove(order_card)
return True
return False
target = len(cards) + 1
hand_size = len(cards) // 3
hand = set(cards[:hand_size])
pending = set()
deck = cards[hand_size:][::-1]
turn = 1
while coin >= 0 and deck:
pending.add(deck.pop())
pending.add(deck.pop())
if check(hand, hand):
pass
elif coin >= 1 and check(hand, pending):
coin -= 1
elif coin >= 2 and check(pending, pending):
coin -= 2
else:
break
turn += 1
return turn
반응형