파이썬

    [백준 10814번-파이썬/Python] 나이순 정렬

    http://acmicpc.net/problem/10814 {코드} data = [] for _ in range(int(input())): x, y = input().split() data.append((int(x), y)) data.sort(key=lambda x: x[0]) [print(*i) for i in data] {설명} 파이썬의 정렬은 가능한 한 기존의 인덱스를 유지하는 정렬, 안정된 정렬(Stable sort)을 수행합니다. 그렇기에 단순히 나이만 키값으로 주고 정렬하면 문제가 요구하는 답을 구할 수 있습니다.

    [백준 1181번-파이썬/Python] 단어 정렬

    http://acmicpc.net/problem/1181 {코드} import sys def input(): return sys.stdin.readline().rstrip() def print(val): sys.stdout.write(str(val)+'\n') data = sorted({input() for _ in range(int(input()))}, key=lambda s: (len(s), s)) [print(i) for i in data] {설명} 먼저 입력받은 원소들을 집합에 넣어 중복을 없애고 문자열의 길이을 기준으로 먼저 정렬하고 길이가 같으면 문자열을 기준으로 정렬하게 된다.

    [백준 11651번-파이썬/Python] 좌표 정렬하기 2

    http://acmicpc.net/problem/11651 {코드} import sys def input(): return sys.stdin.readline() def print(a, b): sys.stdout.write(f'{a} {b}\n') [print(*i) for i in sorted([list(map(int, input().split())) for _ in range(int(input()))], key=lambda x: (x[1], x[0]))] {설명} 이 문제는 11651의 좌표 정렬하기와 비슷한 문제로 입력량이 많아 sys모듈을 사용하고 뒤에 key를 통해 2번째 숫자를 기준으로 정렬하되 같은 값이 있다면 첫 번째 값이 더 작은 순으로 정렬한다.