알고리즘
[프로그래머스, 파이썬] 숫자 짝꿍
hminor
2024. 3. 7. 12:00
반응형
풀이
- 첫 풀이 접근으로는
- x의 각 문자에 해당하는 인덱스 값에 1증가, y에 해당하는 인덱스 값에 1 감소하면서
- result에 추가하여 해결하려 했지만 시간초과가 발생
- 그래서 x와 y에 교집합에 해당하는 문자를 찾고
- 조건 분기로 같은 게 없다면 -1, 있지만 1개이고 그게 0이라면 개수에 상관없이 0을 return
- 그게 아닐 경우엔 다음 return으로 가서 count를 사용하여 적은 만큼 출력하여 해결
def solution(x,y):
xy = set(x) & set(y)
if not xy: return "-1"
elif len(xy) == 1 and "0" in xy: return "0"
return "".join(sorted([i*min(x.count(i),y.count(i)) for i in xy], reverse=True))