반응형
프로그래머스 코딩테스트 중 짝꿍 숫자 문제 Python3풀이 입니다.
https://school.programmers.co.kr/learn/courses/30/lessons/131128
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
처음 저는 X,Y를 리스트로 받아서 각 값들을 비교한 뒤 정렬을 하면 되겠다 싶어, 아래와 같이 시도 했습니다.
테스트 케이스는 통과 됐지만 채점 중 시간초과로 탈락처리 되었습니다. -> 이유를 아시는 분은 알려주세요...
def solution(X, Y):
answer = list()
xList = list(X)
yList = list(Y)
for i in xList:
if i in yList:
yList.remove(i)
answer.append(i)
if len(answer) == 0:
return "-1"
if answer.count('0') == len(answer):
return "0"
answer.sort(reverse=True)
return ''.join(answer)
검색해보니 아래 사이트의 방법으로 성공은 됐지만 제가 했던 방법과 차이는 아직 잘 모르겠습니다.
https://velog.io/@bobsini601/프로그래머스-숫자-짝꿍
[프로그래머스] 숫자 짝꿍 (Python)
딕셔너리를 사용한 문제
velog.io
다른 분들의 코드 중 맘에 드는 방법을 추가로 올려봅니다.
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
반응형
'프로그래밍 > Python' 카테고리의 다른 글
[프로그래머스] 숫자 찾기 - Python (0) | 2023.01.08 |
---|---|
[프로그래머스] 약수 구하기 - Python (0) | 2023.01.05 |
[프로그래머스] 7의 개수 - Python (0) | 2023.01.05 |
프로그래머스 - 다음에 올 숫자(Python3) (0) | 2022.11.10 |
프로그래머스 - 햄버거 만들기(Python) (0) | 2022.11.07 |