[Python] 숫자 짝꿍

2022. 10. 20. 16:00Algorithm/프로그래머스

level : 1

문제 링크 : 숫자 짝궁

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

My Solution

def solution(X, Y):
    answer = ''
    a = sorted(list(set(X)&set(Y)),reverse=True)
    if len(a) == 0:
        return "-1"
    elif len(a) == a.count('0'):
        return "0"
    for i in a:
        answer+=i*(min(X.count(i),Y.count(i)))
    
    return answer


풀이방법
set이라는 자료구조를 이용하여 X와 Y에 있는 원소들을 빼낸 뒤 and 연산자(&)를 이용하여 둘 다 가지고 있는 원소를 찾은 후 list로 바꾼다. 그 후 list를 내림차순으로 정렬하여 a를 초기화 한다.

 

a가 빈 list라면 "-1"을 반환하고

a에 0만 있다면 "0"을 반환한다.

 

a의 원소마다 X와 Y에서의 개수만큼 repeat해서 answer에 추가한다.

느낀점

최근 Python으로 코딩테스트를 풀 일이 생겨서 다시 이용하는 데 익숙하지 않아 조금 오래 걸렸다.하지만 점점 익숙해지는 느낌이다.

'Algorithm > 프로그래머스' 카테고리의 다른 글

[Go] qr code  (0) 2024.08.01
[JavaScript] 혼자 놀기의 달인  (0) 2023.04.22
[JavaScript] 단어 변환  (0) 2022.09.26
[JavaScript] 다음 큰 숫자  (0) 2022.09.25
[JavaScript] 야근 지수  (0) 2022.09.17