나의 풀이
def solution(X, Y):
answer = []
for i in range(10):
num=min(X.count(str(i)), Y.count(str(i)))
answer.append(num)
result =[]
for j in range(10):
if answer[j] != 0:
for _ in range(answer[j]):
result.append(str(j))
result.sort(reverse=True)
#result에 요소 자체가 없는 경우
if len(result) ==0:
return "-1"
#result의 모든 요소가 '0'인 경우
elif len(result) == result.count('0'):
return '0'
return "".join(result)
▶ 모든 요소가 0인 경우★★
다른 사람의 풀이
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
'프로그래머스(파이썬) > LV.1(파이썬)' 카테고리의 다른 글
폰켓몬★★ → 해설, 조합X (0) | 2022.12.21 |
---|---|
키패드 누르기→매개변수로 값주기, 현재값, next값★ (0) | 2022.12.20 |
과일장수 →특정요소 여러 개 제거★★+ 1차원 리스트 슬라이싱(n등분)★★ (0) | 2022.12.20 |
가장 가까운 글자→ 다중 index를 이용★★ (0) | 2022.12.20 |
완주하지 못한 선수→ Hash 또는 Counter함수 (0) | 2022.12.19 |