728x90
SMALL
문제 이해
- X와 Y의 숫자를 비교하여 같은 숫자를 찾아라
- 공통으로 나타나는 숫자를 가장 큰 정수로 리턴해라
- 정수는 0이 될수 없다.
- 공통 숫자가 없으면 -1
0 ~ 9 까지 숫자를 담을 리스트 n1, n2를 생성하여 해당하는 숫자 위치에 +1 추가 한다.
n1, n2를 비교하며 n2가 크면 str(i)*n1[i] 아니라면 str(i)*n2[i] 로 문자열을 붙여준다.
def solution(X, Y):
answer = ''
n1 = [0,0,0,0,0,0,0,0,0,0,0]
n2 = [0,0,0,0,0,0,0,0,0,0,0]
for i in X:
n1[int(i)] += 1
for i in Y:
n2[int(i)] += 1
for i in range(9,-1, -1):
n = n1[i] if n1[i] < n2[i] else n2[i]
answer += str(i)*n
if len(answer) == 0:
return "-1"
else:
if answer[0] == '0':
return '0'
else:
return answer
728x90
LIST
'파이썬 > 코딩테스트' 카테고리의 다른 글
[프로그래머스] 올바른 괄호 - Python(파이썬) (0) | 2024.03.23 |
---|---|
알고리즘 소수 구하기 (0) | 2024.03.23 |
[프로그래머스] 콜라 문제 - Python(파이썬) (0) | 2024.03.23 |
[프로그래머스] 옹알이(2) - Python(파이썬) (0) | 2024.03.23 |
[프로그래머스] 햄버거 만들기 - Python(파이썬) (0) | 2024.03.23 |