목록sort (4)
나의 개발일지
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/147354🔑 정렬, 비트연산 XOR먼저 이 문제에서 컬럼이나 튜플의 순서는 0이 아닌 1부터 시작한다.2단계 정렬 : col 번째 값을 기준으로 오름차순, col 번째 값 동일하면 기본키 첫 번째 값 기준 내림차순 정렬음수 기준으로 정렬하면 내림차순 정렬 가능 → -x[0]3단계 나머지들의 합 : 정렬된 리스트 순회하면서 row_begin ~ row_end까지 튜플에 대해 나머지 합 계산 후 리스트에 저장4단계 저장된 나머지 합들 XOR 연산 : 나머지 합 저장된 리스트 순회하면서 모두 XOR 연산answer ^= S[i]로 answer에 XOR 연산된 값 저장 def solution(da..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/12941 가장 작은 수 와 가장 큰 수 끼리 곱하는 방법 def solution(A,B): answer = 0 오름차순 = sorted(A) 내림차순 = sorted(B, reverse=True) for i in range(len(오름차순)): answer += 오름차순[i] * 내림차순[i] return answer
sorted 원본 내용은 바꾸지 않고, 정렬된 값만 반환 리스트, 튜플, 딕셔너리, 문자열 모두 사용 가능 key를 통해 정렬 기준을 정할 수 있다. reverse = True는 내림차순, False는 오름차순(기본이 오름차순으로 생략 가능) arr2 = sorted(arr1)에서 arr1의 요소들을 정렬한 값을 arr2에 리턴 하지만 arr1은 그대로이다. sort 원본 자체가 정렬되어 변경되고, None 반환 리스트에만 사용 가능 key를 통해 정렬 기준을 정할 수 있다. reverse = True는 내림차순, False는 오름차순(기본이 오름차순으로 생략 가능) arr2 = arr1.sort()에서 arr1.sort()로 인해 arr1 자체가 정렬이 되었고, arr2에는 None를 반환했다. key..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/42748 array의 요소들을 commands의 i ~ j의 범위에 맞게 정렬 후 k 번째 수를 찾는 문제 예) array = [1, 5, 2, 6, 3, 7, 4] commands[0] = [2, 5, 3] i = 2, j = 5, k = 3 2~5번째까지 추출 = [5, 2, 6, 3] 정렬 = [2, 3, 5, 6] k 번째 수 = 5 def solution(array, commands): answer = [] arr = [] for i in range(len(commands)): arr = array[commands[i][0]-1:commands[i][1]] arr.sort() ans..