❗ 풀이 과정
- 맨 처음에, X,Y 문자열 안의 각 문자들을 하나하나 탐색해주면서, Y안에 x있으면 짝꿍인 숫자 하나씩 빼주면(remove) 되지! 라는 비효율적인 생각을 했다. 그 결과, 몇개의 테케는 시간초과가 났다.
- {숫자 : 숫자의 개수} 형식의 dictionary를 만들어주고, y안에 x있으면 dict[숫자]-=1 해주는 방식으로 풀었더니, 통과!
🤜 풀이 코드
def solution(X, Y):
answer = []
xDict = dict()
yDict = dict()
for x in X:
xDict[x] = xDict.get(x,0)+1
for y in Y:
yDict[y] = yDict.get(y,0)+1
for k,v in xDict.items():
if k in yDict.keys():
while yDict[k]>0 and xDict[k]>0:
answer.append(k)
yDict[k]=yDict.get(k)-1
xDict[k]=xDict.get(k)-1
if(len(answer)==0): return "-1"
if(answer.count('0')==len(answer)): return "0"
answer.sort(reverse=True)
return ''.join(answer)