본문 바로가기

CS Study/Algorithm(Coding Test)

[2022 KAKAO BLIND RECRUITMENT] 양궁대회 (Python)

728x90
반응형

 

 

코딩테스트 연습 - 양궁대회

문제 설명 카카오배 양궁대회가 열렸습니다. 라이언은 저번 카카오배 양궁대회 우승자이고 이번 대회에도 결승전까지 올라왔습니다. 결승전 상대는 어피치입니다. 카카오배 양궁대회 운영위원

programmers.co.kr

 

2022 카카오 공채.. 마지막 컬쳐핏 면접에서 떨어져서 정말 눈물을 흘렸던 바로 그 공채..

오랜만에 그때 풀었던 풀이를 다시 살펴봤다.

 

n의 제한이 10개밖에 되지 않아서 combination을 사용하여 간단하게 풀었고 무난하게 통과했다.

 

from itertools import combinations_with_replacement as cwr
from collections import Counter

def solution(n, info) :
    answer = []
    info = info[::-1]
    max_n = -1
    k = len(info)
    
    for c in cwr(range(0, k), n) :
        ryan = 0
        apeach = 0
        tmp_ans = [0 for _ in range(k)]
        
        c = Counter(c)
        for i in range(0, k) :
            if info[i] < c[i] : # 개수가 더 많으면 라이언이 승
                ryan += i
            elif info[i] != 0 : # 아니면 어피치가 승
                apeach += i

            tmp_ans[i] = c[i]
        if ryan > apeach :
            diff = ryan - apeach
            if max_n < diff :
                max_n = diff
                answer = tmp_ans

    if answer :
        return answer[::-1]
    else :
        return [max_n]

 

728x90
반응형