문제
https://school.programmers.co.kr/learn/courses/30/lessons/120876
설계
- 선분을 bucket에 담아 겹치는 선분, 즉 bucket 2이상의 개수를 구한다.
def solution(lines):
answer = 0
lines.sort()
bucket = [0] * 201 # -100 ~ 100 => 100 ~ 201
# 선분 bucket에 담아 count
for i in range(3):
if lines[i][1] > lines[i][0]:
for j in range(lines[i][1] - lines[i][0]):
bucket[j + lines[i][0] + 100] += 1 # 음수 때문에 + 100
# 겹치는 선분 확인
for i in range(len(bucket)):
if bucket[i] >= 2:
answer += 1
return answer
'PS (Problem Solving) > Programmers' 카테고리의 다른 글
[프로그래머스] 저주의 숫자 3 - 파이썬 (0) | 2023.01.30 |
---|---|
[프로그래머스] 평행 - 파이썬 (0) | 2023.01.29 |
[프로그래머스] 팩토리얼 - 파이썬 (2) | 2023.01.26 |
[프로그래머스] 모스부호 (1) - 파이썬 (0) | 2023.01.25 |
[프로그래머스] 최댓값 만들기 (2) - 파이썬 (0) | 2023.01.25 |