문제풀이 - 파이썬
def solution(lines):
sets = [set(range(min(l), max(l))) for l in lines]
return len(sets[0] & sets[1] | sets[0] & sets[2] | sets[1] & sets[2])
▶ set(range(n)) 의 경우 0~n-1까지 n크기의 set이 만들어 진다.
▶ l 임시변수가 2차원 배열 lines의 각 행에 접근한다.
▶ 각 행의 작은 값과 큰 값을 찾아서 작은 값에서 큰 값 직전범위까지 값을 set에 대입한다.
▶ sets는 리스트이며, set자료형을 리스트sets가 감싸고 있다.
▶ 따라서 sets 리스트의 각 원소는 set자료형이다.
▶ set자료형 &는 교집합, | 는 합집합을 의미한다.
▶ 교집합으로 겹치는 경우는 0과 1 , 1과 2, 0과 2 총 3가지 경우이다.
▶ sets[0] & sets[1]에서 교집합 1개의 갯수는 길이 1에 해당한다.
'프로그래머스(파이썬) > LV.0(파이썬)' 카테고리의 다른 글
배열 뒤집기 (0) | 2022.11.14 |
---|---|
연속된 수의 합 (0) | 2022.11.13 |
최빈값 - 튜플을 요소로하는 리스트 접근 (0) | 2022.11.13 |
평행 (0) | 2022.11.12 |
옹알이2-리펙토링 (0) | 2022.11.12 |