프로그래머스 lv0 겹치는선분의길이
출처
https://school.programmers.co.kr/learn/courses/30/lessons/120876
풀이
def solution(lines):
N = 201
graph = [0]*N
# -좌표를 +좌표로 전환시켜 배열의 형태로 나타낼수 있도록 한다.
lines = [[start+100, end+100] for (start, end) in lines]
answer = 0
# graph 에 start부터 end 전까지 +1 해준다.
# 왜냐하면 점이 끝나면서 선분이 끊기기 때문에, 끝나는점에서는 겹치는것을 판별할수 없다.
for start, end in lines:
for i in range(start, end):
graph[i] += 1
for i in range(N):
# 구간에 한개이상의 선분이 있다면 겹치는것이다.
if graph[i]>1:
answer += 1
return answer
Leave a comment