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() 함수를 사용하여 영점에서부터 얼마나 떨어졌는지 계산하는 방식으로 바꿨습니다. 수치를 계산하는 방법은 여러분이 원하는 대로 선택하면 됩니다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.