본문 바로가기

Algorithm31

[python] 11651 - 좌표 정렬하기2 문제 파이썬 풀이 11650번 문제의 정렬 기준이 y먼저로 바뀐 문제이다. #11650번과 정렬 기준 x,y반대로 import sys input = sys.stdin.readline n= int(input().rstrip()) v = [] for i in range(n) : x, y = map(int, input().rstrip().split()) v.append((x,y)) v.sort(key=lambda x:(x[1],x[0])) for x,y in v : print(x,y) [python]11650-좌표 정렬하기 11650번 문제에서 공부했듯 sort함수에 key를 부여하여 정렬 기준을 바꾸어줬다. 2021. 9. 1.
[python]11650-좌표 정렬하기 문제 파이썬 풀이 튜플로 2차원 좌표를 입력받아 리스트 안에 저장한 후, x좌표를 기준으로 오름차순 정렬하는 문제이다. (x좌표가 같을 시 y좌표 비교) import sys input = sys.stdin.readline n= int(input().rstrip()) v = [] for i in range(n) : x, y = map(int, input().rstrip().split()) v.append((x,y)) v.sort() for x,y in v : print(x,y) 시간 복잡도 개선을 위해 input대신 sys.stdin.readline을 사용하였다. 단, readline으로 입력을 받으면 끝에 개행 문자를 가져온다 하여 rstrip을 통해 제거하여주었다. 입력받기 for i in range(.. 2021. 8. 31.
[python구현] 정렬 알고리즘 - 선택, 삽입, 버블, 병합, 퀵 정렬 정렬 선택 정렬 선택 정렬 알고리즘 주어진 리스트 중에 최솟값을 찾는다. 찾은 값을 맨 앞에 위치한 값과 교체한다. 정렬된 앞부분을 제외한 리스트를 같은 방법으로 교체한다. 선택 정렬 파이썬 구현 def selectionSort(x) : length = len(x) for i in range(length-1) : minIndex = i for j in range(i+1,length) : if x[minIndex] >x[j] : minIndex = j x[i], x[minIndex] = x[minIndex], x[i] return x 선택 정렬 시간 복잡도 모든 인덱스 접근 루프문(i for문) : O(n) 최솟값 찾기 루프문 (j for문) : O(n) 총 O(n^2) 버블 정렬 버블 정렬 알고리즘 인접.. 2021. 8. 30.