コーディングテスト/データム座標の整列


💡の意見を打診

  • 点のN個の数を取得し、次に次の点の座標を取得してリストに保存する.
  • listソートを使用します.
  • 出力.
  • アドレスエラーコード1


    colabでBack Junの例を返すと、効果がよく、何か問題があったのか分からず、座標が負の値になるまでうろうろしていたので、正しく整列できないことを確認しました.
    ex)(-1,3)(-4,1)-->答え:(-4,1)(-1,3)/私のコード:(-1,3)(-4,1)
    N = int(input())
    
    def solution(N):
        inputlist = [[1 for j in range(2)] for i in range(N)]
        for i in range(N):
          a, b = input().split()
          inputlist[i][0] = a
          inputlist[i][1] = b
    
        inputlist.sort(key=lambda x:(x[0], x[1]))
        for i in range(N):
          print(inputlist[i][0] + " " + inputlist[i][1])
    
    solution(N)
    ソリューション:
    1.コードにリストに文字が含まれているのでintに変更します.
    2.ifelse文を使用して負の値を個別に処理

    💡テストに合格したコード


    1を使用して上記の問題を解決します.一つ目はタイムアウトだったので、いったい何が起こったのか考えて同じコードをもう一度受験して合格しました.何だったっけ...?
    N = int(input())
    
    def solution(N):
        inputlist = [[1 for j in range(2)] for i in range(N)]
        for i in range(N):
          a, b = input().split()
          inputlist[i][0] = int(a)
          inputlist[i][1] = int(b)
    
        inputlist.sort(key=lambda x:(x[0], x[1]))
        for i in range(N):
          print(str(inputlist[i][0]) + " " + str(inputlist[i][1]))
    
    solution(N)

    🔗水平-座標の位置合わせ
    https://www.acmicpc.net/problem/11650