728x90
https://school.programmers.co.kr/learn/courses/30/lessons/131128
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
맨 처음에, X,Y를 하나하나 탐색하면서, Y에서 X와 짝꿍인 숫자 하나씩 빼는 방법으로 구현을 했다.
-> 다수의 테스트 케이스에서 시간 초과!!가 났다.
-> 숫자:숫자의 개수 형식의 dictionary를 만들어 구현하니 통과!
def solution(X, Y):
answer = []
x_dic = dict()
y_dict = dict()
for x in X:
x_dic[x] = x_dic.get(x,0)+1
for y in Y:
y_dict[y] = y_dict.get(y,0)+1
for k,v in x_dic.items():
if k in y_dict.keys():
while y_dict[k]>0 and x_dic[k]>0:
answer.append(k)
y_dict[k]=y_dict.get(k)-1
x_dic[k]=x_dic.get(k)-1
answer.sort(reverse=True)
if(len(answer)==0):
return "-1"
elif(answer.count('0')==len(answer)):
return "0"
else:
return ''.join(answer)
728x90
반응형
'알고리즘' 카테고리의 다른 글
[프로그래머스] n^2 배열 자르기 - 파이썬(Python3) (0) | 2023.07.25 |
---|---|
[프로그래머스] 단어 변환 - 파이썬(Python3) (0) | 2022.11.08 |
이코테 Chapter03. 그리디 (0) | 2022.09.01 |
[BOJ/Python3(파이썬)] 백준 16967번 : 배열 복원하기 (0) | 2022.05.16 |
[프로그래머스/파이썬(Python3)]_소수 만들기 (0) | 2022.05.14 |