Coding Test/Python
[Programmers] 숫자 짝꿍 - 131128
ro_rdil_31
2024. 10. 22. 22:20
728x90
from collections import Counter 사용하기.
같은 숫자 여러 개일 때 개수로 한 번에 answer에 담아주기 때문에 시간 초과가 일어나지 않는다 !
Question
두 정수 X, Y의 임의의 자리에서 공통으로 나타나는 정수 k(0 ≤ k ≤ 9)들을 이용하여 만들 수 있는 가장 큰 정수를 두 수의 짝꿍이라 합니다(단, 공통으로 나타나는 정수 중 서로 짝지을 수 있는 숫자만 사용합니다). X, Y의 짝꿍이 존재하지 않으면, 짝꿍은 -1입니다. X, Y의 짝꿍이 0으로만 구성되어 있다면, 짝꿍은 0입니다.
두 정수 X, Y가 주어졌을 때, X, Y의 짝꿍을 return하는 solution 함수를 완성해주세요.
Code (After)
from collections import Counter
def solution(X, Y):
answer = ''
counter = Counter(X) & Counter(Y)
for i in sorted(counter.keys(), reverse=True): answer += i*counter[i]
if answer != '' and answer.count('0') == len(answer) : return '0'
return answer if answer else '-1'
Code (Before)
from collections import Counter
def solution(X, Y):
answer = ''
x = Counter(X)
y = Counter(Y)
for i in x :
if i in y :
answer += i*min(x[i],y[i])
if answer !='' and answer.count('0') == len(answer) : return '0'
return ''.join(sorted(answer,reverse=True)) if answer!='' else "-1"

now me
On my github
728x90