목록정렬 (10)
나의 개발일지

문제 : 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/42884 🔑 그리디, 정렬 나간 지점을 기준으로 오름차순 정렬 [[-20, -15], [-14, -5], [-18, -13], [-5, -3]] → [[-20, -15], [-18, -13], [-14, -5], [-5, -3]] 초기값(camera)을 -30000보다 작은 값으로 초기화한다. 현재 차량의 진입 지점이 카메라가 설치된 지점(camera) 보다 크면 나간 지점에 카메라 설치 밑에 그림으로 봤을 때 카메라를 설치한 지점과 겹치지 않는 경우에 해당 그림을 보면 이해하기 쉽다. 빨간 막대가 카메라가 설치된 자리 파란 막대는 차량이 이동한 거리 def solution(routes): ..

문제 : https://school.programmers.co.kr/learn/courses/30/lessons/12987 🔑 정렬 A의 순서가 어떻든 간에 B의 순서를 내 마음대로 배치할 수 있으니까 둘 다 오름차순으로 정렬을 한다. (A의 순서가 주어진 대로 사용할 필요 없음) A보다 B[i]가 더 크면 정답 올리고 A의 다음 순서를 불러온다. 반복 한 번만 하면 끝 ✨ def solution(A, B): answer = 0 A.sort() B.sort() p = 0 for i in range(len(A)): if A[p] < B[i]: answer += 1 p += 1 return answer

문제 : https://www.acmicpc.net/problem/16496 🔑 숫자를 모두 10자리로 맞추기 3 = 3333333333 30 = 3030303030 34 = 3434343434 5 = 5555555555 9 = 9999999999 정렬하면 9999999999, 5555555555, 3434343434, 3333333333, 3030303030 이렇게 10자리로 맞추고 내림차순 정렬을 한 후 원래 숫자들을 출력하면 끝 ✨ n = int(input()) nums = input().split() sort_list = [] for n in nums: new_num = n * 10 # 문자열 10번 반복해서 최소 10자리 이상으로 만들기 sort_list.append((int(new_num[:1..

문제 : https://www.acmicpc.net/problem/20440 🔑 딕셔너리 key에 시간, value에 모기 마리 수 저장 딕셔너리 생성 들어온 시간 value값에는 모기 마리 수를 더한다. 나간 시간 value값에는 모기 마리 수를 뺀다. 정렬 딕셔너리 key, value 값으로 오름차순 정렬한다. 정렬된 리스트에서 최댓값 찾기 모기 마릿수를 순서대로 더해가면서 최댓값을 계속 업데이트한다. 마지막으로 업데이트된 인덱스와 시간을 저장 최댓값 인덱스 부터 모기가 모두 나간 시점 찾기 value가 0 미만인 값을 찾으면 해당하는 시간 저장하고 브레이크 최댓값, 가장 많은 모기가 있는 시작 시간, 끝시간을 출력하면 끝 ✨ from collections import defaultdict impor..

문제 : https://www.acmicpc.net/problem/2212 🔑 그리디, 정렬 n = 6 (센서 개수) k = 2 (집중국 개수) 1 6 9 3 6 7 (센서 위치) 입력받은 센서들의 위치를 오름차순 정렬한다. [1, 3, 6, 6, 7, 9] 이 센서들의 간격을 구하고 오름차순 정렬한다. [0, 1, 2, 2, 3] 집중국이 2개니까 센서들의 위치를 2등분을 해야 한다. 이 나누는 기준을 간격이 가장 큰 위치로 한다. 결론적으로 간격이 긴 k-1개를 제외하고 합한다. n = int(input()) k = int(input()) sensor = list(map(int, input().split())) sensor.sort() sensor_distance = [] for i in range(..

문제 : 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

ORDER BY 특정 순서로 행을 표시 SQL 문의 가장 끝에 위치 행을 오름차순(기본 순서) 또는 내림차순으로 정렬 선택적으로 ASC | DESC 지정 여러 열 기준의 정렬 ORDER BY 절에 쉼표로 열 이름을 구분하면서 여러 열을 지정 결과는 첫 번째 열 기준으로 정렬된 다음 그 결과 내에서 두 번째 열을 기준으로 정렬하는 방식 ASC, DESC는 열 이름마다 별도 지정 ORDER BY 절에 지정가능한 정렬 조건 열이름 또는 표현식 별칭 SELECT 절에 나열된열 목록을 기준으로 한 열 위치 값 사원 정보를 입사일이 가장 빠른 사원부터 순서대로(오름차순) 출력 SELECT emp_name, position, dept_id, hiredate FROM y_emp ORDER BY hiredate; 가장 ..