[프로그래머스] LV.0 배열의 유사도 / 파이썬(Python)

디딧·2022년 11월 22일

프로그래머스

목록 보기
34/36

문제 설명

두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return하도록 solution 함수를 완성해주세요.

제한사항

  • 1 ≤ s1, s2의 길이 ≤ 100
  • 1 ≤ s1, s2의 원소의 길이 ≤ 10
  • s1과 s2의 원소는 알파벳 소문자로만 이루어져 있습니다
  • s1과 s2는 각각 중복된 원소를 갖지 않습니다.

풀이 1

  • idea

    s1과 s2중에 길이가 더 짧은 애를 데리고와서, 그 리스트의 원소 각각이 다른 리스트에 있는지 반복문으로 확인
def solution(s1, s2):
    if len(s1) < len(s2):
        a, b = s1, s2
    else:
        a, b = s2, s1
    
    answer = 0
    for i in a:
        if i in b:
            answer += 1
        else:
            continue
            
    return answer

풀이2

  • idea

    s1, s2 두 리스트를 하나의 리스트로 합친 다음, 중복된 원소의 개수를 센다.
def solution(s1, s2):
    s = s1 + s2
    set_s = set(s)
    return len(s)-len(set_s)

다른 사람의 풀이

def solution(s1, s2):
    return len(set(s1)&set(s2))
profile
M.S. in Statistics, 2022 - present

0개의 댓글