코테 공부/python
[프로그래머스] Python 겹치는 선분의 길이
sweet-po
2023. 6. 9. 00:56
https://school.programmers.co.kr/learn/courses/30/lessons/120876
나의 코드
이번에야 말로 생각이란걸 하고 풀어봤다 라고 자부하며
비록 for문이지만 나름 생각을 했다 이거야.. 했다
선분에 포함된 숫자들로 리스트에 추가해서 그 숫자가 2개 이상씩 나오면 count 하는거로 짰다
def solution(lines):
answer = 0
li = []
for el in lines:
for i in range(el[0], el[1]):
li.append(i)
for l in range(min(lines)[0], max(lines[0][1], lines[1][1], lines[2][1])):
if li.count(l) >= 2:
answer += 1
return answer
타풀이
근데 set으로.. 교집합, 합집합으로 하는것이... 있었단걸... 왜 타풀이를 보고 나서야 생각이 나는걸까
나 set 알아요... 안다니까..?
def solution(lines):
sets = [set(range(start, end)) for start, end in lines]
return len(sets[0] & sets[1] | sets[0] & sets[2] | sets[1] & sets[2])