문제 설명
두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ s1, s2의 길이 ≤ 100
- 1 ≤ s2, s2의 원소의 길이 ≤ 10
- s1과 s2의 원소는 알파벳 소문자로만 이루어져 있습니다
- s1과 s2는 각각 중복된 원소를 갖지 않습니다.
입출력 예
| s1 | s2 | result |
| ["a", "b", "c"] | ["com", "b", "d", "p", "c"] | 2 |
| ["n", "omg"] | ["m", "dot"] | 0 |
내 풀이
def solution(s1, s2):
same = []
for i in s1:
if i in s2:
same.append(i)
return len(same)
회고
- len(set(s1)&set(s2)) 으로 푼 답안이 가장 인상 깊다. 교집합으로 볼 생각도 못했네.
- 내가 쓴 답안도 len([i in s1 if i in s2]) 처럼 간단하게 쓸 수 있었다.
- same.append(i) 자리에 count += 1 을 대신 써서, s1과 s2 중 일치하는 것만의 개수를 센 풀이도 있었다.
'Programmers > Python' 카테고리의 다른 글
| [프로그래머스] [Python] 중복된 숫자 개수 (0) | 2022.11.11 |
|---|---|
| [프로그래머스] [Python] 최댓값 만들기 (1) (0) | 2022.11.11 |
| [프로그래머스] [Python] 숨어있는 숫자의 덧셈 (1) (0) | 2022.11.11 |
| [프로그래머스] [Python] 모음 제거 (0) | 2022.11.11 |
| [프로그래머스] [Python] 배열 두 배 만들기 (0) | 2022.11.11 |