less than 1 minute read

출처

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