位置合わせ座標[Bython 11650]


座標の整列
  • フェーズ:Silver 5
  • 時間制限:1秒
  • メモリ制限:256 MB
  • アルゴリズム分類:ソート
  • 質問する
    2 D平面上のN個の点を与える.x座標のインクリメント順に座標を並べ、x座標が同じ場合はy座標のインクリメント順に座標を並べ、プログラム出力を記述します.
    入力
    第1行は、点の個数N(1≦N≦100000)を与える.2行目から、N行においてi番点の位置xiとyiが与えられる.(−1000≦xi,yi≦100000)座標は常に整数であり、2つの位置が同じ点はない.
    しゅつりょく
    最初の行からN行の位置合わせの結果を出力します.
    サンプルI/O

    Algorithm
    1. 각 좌표를 튜플로 받아 리스트에 저장
    2. lambda 함수를 이용해 다중 조건으로 sort
    	2.1. 1번 조건 : x[0]
    	2.2. 2번 조건 : x[1]
    Code
    import sys
    input = sys.stdin.readline
    
    # 입력
    N = int(input())
    nums = []
    for _ in range(N):
        nums.append(tuple(map(int, input().split())))
    
    # 좌표 정렬
    nums.sort(key = lambda x:(x[0], x[1]))
    for i in nums:
        print(i[0], i[1])
    メモリ:51640 KB
    時間:404ミリ秒