본문 바로가기
프로그래밍/알고리즘

프로그래머스 - 배열의 유사도 파이썬

by monicada 2022. 11. 17.
728x90

문제 코드 

 

프로그래머스

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

programmers.co.kr

 

해결 코드

#첫 번째 풀이 
def solution(s1, s2):
    #같의 것의 원소의 개수를 리턴 
    return len(set(s1) & set(s2))

#두 번째 풀이 
def solution(s1, s2):
    #새로운 문자열 만듦 
    answer = 0
    #i가 s1을 돌면서 
    for i in s1:
        #s2에도 속해있는 것이 있는지 확인 
        if i in s2:
            #있으면 +1을 함
            answer += 1
    return answer

첫 번째 풀이에서 set을 통해 중복을 제거한 후 s1, s2의 같은 원소의 개수를 세어주었다 

- set(집합)의 특징 

  • 중복을 허용하지 않는다
  • 순서가 없다(Unordered)

- 교집합 연산자 

s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])

 
# 교집합 연산자 &
print(s1 & s2)

#답은 [4, 5, 6]이 나온다

 

댓글