알고리즘

[프로그래머스, 파이썬] 겹치는 선분의 길이

hminor 2024. 2. 20. 10:55

풀이

  • 집합을 사용해서 쉽게 푼 풀이로
  • intersection(교집합)을 사용해서 각 선분간의 중복을
  • union(합집합)을 사용하여 더한 길이를 구하여 해결

 

def solution(lines):
    li = [set()]*3
    for i in range(3): li[i] = set(range(lines[i][0],lines[i][1]))
    return len(li[0].intersection(li[1]).union(li[0].intersection(li[2])).union(li[1].intersection(li[2])))