코딩_Python(Level.0)

[Level.0] 겹치는 선분의 길이

Hong's_Computer 2026. 3. 25. 11:15
반응형

문제 설명: 선분 3개가 평행하게 놓여 있습니다. 세 선분의 시작과 끝 좌표가 [[start, end], [start, end], [start, end]] 형태로 들어있는 2차원 배열 lines가 매개변수로 주어질 때, 두 개 이상의 선분이 겹치는 부분의 길이를 return 하도록 solution 함수를 완성해보세요.

제한사항

  • lines의 길이 = 3
  • lines의 원소의 길이 = 2
  • 모든 선분은 길이가 1 이상입니다.
  • lines의 원소는 [a, b] 형태이며, a, b는 각각 선분의 양 끝점 입니다.
  • -100 ≤ a < b ≤ 100

문제 해결

def solution(lines):
    dicti = {}
    for start, end in lines:
        for i in range(start, end):
            dicti[i] = dicti.get(i, 0) + 1
    return sum(1 for val in dicti.values() if val > 1)

 

주석: 각 선분이 차지하는 정수 단위 구간을 딕셔너리에 기록하고 중복 횟수가 2 이상인 구간의 총 개수를 반환

반응형

'코딩_Python(Level.0)' 카테고리의 다른 글

[Level.0] 정수를 나선형으로 배치하기  (0) 2026.03.25
[Level.0] 평행  (0) 2026.03.25
[Level.0] 주사위 게임(3)  (0) 2026.03.25
[Level.0] 안전지대  (0) 2026.03.25
[Level.0] 연속된 수의 합  (0) 2026.03.24