RyanNerd
라덕'Story
RyanNerd
  • 분류 전체보기 (47)
    • 맛집탐방 (0)
    • Study Note (11)
      • Python (3)
      • R (1)
      • Airflow (7)
    • 질병코딩 (1)
    • 빅데이터분석기사 (1)
      • 필기 (1)
    • Programmers (28)
      • Python (13)
      • SQL (15)
    • Project (3)
      • Django (3)
    • Mac (2)

블로그 메뉴

  • Github
  • Notion
  • NaverBlog
  • 홈

최근 글

전체 방문자
오늘
어제
hELLO · Designed By 정상우.
RyanNerd

라덕'Story

Level0 - 배열의 유사도
Programmers/Python

Level0 - 배열의 유사도

2023. 7. 17. 21:15

문제

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

 

입출력 예

입출력 예 설명

- 입출력 예 #1

  -> "b"와 "c"가 같으므로 2를 return 합니다.

- 입출력 예 #2

  -> 같은 원소가 없으므로 0을 return 합니다.

 

풀이

def solution(s1, s2):
    answer = 0
    for i in s1:
        for j in s2:
            if i == j:
                answer +=1
    return answer

-> 중첩 반복문, if문을 활용하여 문제 풀이

solution(['a','b','c'],['com','b','d','p','c'])

-> 이렇게 할 경우  아래와 같이 돌아가면서 똑같은 글자 비교하면서 answer 1 씩 증가되게 함

a com
a b
a d
a p
a c
b com
b b
b d
b p
b c

 


다른 사람 풀이

def solution(s1, s2):
    return len(set(s1)&set(s2));
  • set을 활용한다 
    ex) s2 = set("Hello")
          s2
         {'e','H','l','o'}
  • set의 특징 2가지
    1. 중복을 허용하지 않는다.
    2. 순서가 없다(Unordered)
    -> set은 중복을 허용하지 않는 특징 떄문에 데이터의 중복을 제거하기 위한 필터로 종종사용
  • set을 활용하여 두개의 "&"연산자로 교집합을 구하고 그걸 len을활용하여 개수로 반환한다.

'Programmers > Python' 카테고리의 다른 글

Level 0 - 배열 뒤집기  (0) 2023.07.18
Level 0 - 피자 나눠 먹기 (1)  (0) 2023.07.18
Level0 짝수,홀수 개수  (0) 2023.07.15
Level0 - 편지  (0) 2023.07.15
Level0 - 중복된 숫자 개수  (0) 2023.07.13
    'Programmers/Python' 카테고리의 다른 글
    • Level 0 - 배열 뒤집기
    • Level 0 - 피자 나눠 먹기 (1)
    • Level0 짝수,홀수 개수
    • Level0 - 편지
    RyanNerd
    RyanNerd
    라이언 덕후의 일상 스토리~

    티스토리툴바