[PyLv 1]残りの点


問題の説明


長方形を作成するために必要な4つの点の3つの座標を指定すると、残りの1つの点の座標を取得しようとします.3つの点座標を含む配列vをパラメータとして指定すると、解関数を完了し、矩形を作成するために必要な残りの点座標を返します.ただし、矩形の各エッジはx軸、y軸に平行であり、矩形を作成する必要がある場合にのみ入力されます.

せいげんじょうけん

  • vは、3つの点座標を含む2次元アレイである.
  • vの各要素は点の座標を表し、[x軸座標、y軸座標]の順に座標を与えます.
  • 座標値が1または10億以下の自然数である.
  • 長方形を作成するために必要な残りの点の座標[x軸座標、y軸座標]の順に戻ってください.
  • I/O例



    方法


    問題を読むと、問題をすぐに理解し、結果値にどのようにアクセスできますか.
    これは浮かぶ問題だ.
    指定した例の座標を描画すると、サーフェスの残りの位置がわかります.
    直線を引いて、近い2点を通って、互いにぶつかって、角度が90度の
    位置は残りの点にあります.
    リストで指定したv値で1つの点を検索する場合、3つの座標値のx、y値
    繰り返さないものを探せばいいです.
    例1のx座標1,3,3?y座標で4 4 4 10?重複値を表示しない
    x座標に1とy座標に10を足すと答えです.
    ここでは,xorを用いてより簡単に問題を解決できる.
    x座標では、3と3は同じ値なので、0を出力します.また、y座標図4及び4
    同じ値なので0を出力します.ではxは1 yで10値しか残っていません.
    そしてその値を答えに書いて提出すれば、問題を解決できます.
    =============================================================
    def solution(v):
        answer = []
    
        x = [i[0] for i in v]
        y = [i[1] for i in v]
        
        answer.append(x[0]^x[1]^x[2])
        answer.append(y[0]^y[1]^y[2])
    
        return answer