삽집하는 개발들/알고리즘

[20일차][프로그래머스][131128]숫자 짝꿍

악투 2023. 7. 10. 20:32
반응형
def solution(X, Y):
    x_arr = [ char for char in X ]
    y_arr = [ char for char in Y ]
    x_obj = { char: 0 for char in x_arr if char in y_arr }
    y_obj = { char: 0 for char in y_arr if char in x_arr }

    for number in x_arr:
        if number in x_obj.keys():
            x_obj[number] += 1

    for number in y_arr:
        if number in y_obj.keys():
            y_obj[number] += 1        

    answer = []
    if len(x_obj.keys()) == 0:
        return "-1"
    else:
        for number in x_obj.keys():
            if len(x_obj.keys()) == 1 and number == '0':
                answer.append(number)
            else:
                if x_obj[number] > y_obj[number]:
                    for idx in range(y_obj[number]):
                        answer.append(number);                    
                elif x_obj[number] < y_obj[number]:
                    for idx in range(x_obj[number]):
                        answer.append(number);    
                else:
                    for idx in range(x_obj[number]):
                        answer.append(number); 

    answer.sort(reverse=True)                
    return ''.join(answer)
def solution(X, Y):
    answer = ''

    for i in range(9,-1,-1):
        answer += (str(i) * min(X.count(str(i)), Y.count(str(i))))

    if answer == '':
        return '-1'
    elif len(answer) == answer.count('0'):
        return '0'
    else:
        return answer
반응형