728x90
반응형
Python
from itertools import combinations
def solution(lines):
points = []
combi_lines = list(combinations(lines, 2))
for line in combi_lines:
A, B, E = line[0]
C, D, F = line[1]
if (A * D - B * C) == 0:
continue
x = (B * F - E * D) / (A * D - B * C)
y = (E * C - A * F) / (A * D - B * C)
if x.is_integer() and y.is_integer():
points.append((int(x), int(y)))
xs = [i[0] for i in points]
ys = [i[1] for i in points]
answer = [["." for _ in range(max(xs) - min(xs) + 1)]
for _ in range((max(ys) - min(ys) + 1))]
minx = min(xs)
miny = min(ys)
for point in points:
answer[point[1] - miny][point[0] - minx] = "*"
return list(reversed([ "".join(l) for l in answer]))
728x90
반응형
'프로그래머스 > LEVEL 2' 카테고리의 다른 글
k진수에서 소수 개수 구하기 (0) | 2022.05.05 |
---|---|
영어 끝말잇기 (0) | 2022.05.04 |
올바른 괄호 (0) | 2022.05.02 |
다음 큰 숫자 (0) | 2022.05.01 |
2개 이하로 다른 비트 (0) | 2022.04.30 |