반응형
문제 설명: 선분 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 |