2. 그중 정수 교점만 기억하고, 최소/최대 크기를 알아냅니다.
if x.is_integer() and y.is_integer():
x = int(x)
y = int(y)
meet.append([x, y])
x_max, y_max = max(x_max, x), max(y_max, y)
x_min, y_min = min(x_min, x), min(y_min, y)
교점의 방정식 공식으로 나온 float과 이를 정수로 형 변환한 int의 값을 비교하지 않고, float 값을 그대로 두고 is_integer() 함수로 직접 이 숫자가 정수인지 확인하는 과정으로 변경했습니다. 소수점을 확인할 필요가 없다면 이 방식도 유효하니 해당 값이 정수인지 확인하는 또 다른 방법을 기억해두세요.
3. 교점을 모두 표현할 수 있는 최소한의 사각형을 알아냅니다.
width = abs(x_max - x_min) + 1
height = abs(y_max - y_min) + 1
answer = [['.'] * width for _ in range(height)]
계산 결과는 동일하나 이번에는 조금 더 이해하기 쉽게 abs() 함수를 사용하여 영점에서부터 얼마나 떨어졌는지 계산하는 방식으로 바꿨습니다. 수치를 계산하는 방법은 여러분이 원하는 대로 선택하면 됩니다.