본문 바로가기

정렬3

MySQL | 랭킹, 순위 매기기 함수 - RANK() / DENSE_RANK() / ROW_NUMBER() / NTILE() 특정 열의 값에 대해 순위를(랭킹을) 매기기 위해서 다음과 같은 함수를 사용해볼 수 있습니다. RANK DENSE_RANK ROW_NUMBER NTILE 기본적인 함수 형식은 아래과 같습니다. RANK() OVER ( [PARTITION BY colName1] ORDER BY colName2 [DESC] ) DENSE_RANK() OVER ( [PARTITION BY colName1] ORDER BY colName2 [DESC] ) ROW_NUMBER() OVER ( [PARTITION BY colName1] ORDER BY colName2 [DESC] ) NTILE() OVER ( [PARTITION BY colName1] ORDER BY colName2 [DESC] ) # [대괄호] 안의 값은 선택.. 2024. 4. 5.
프로그래머스 코딩테스트 | 1단계 카드뭉치 문제 풀이 (파이썬 sorted와 key) https://school.programmers.co.kr/learn/courses/30/lessons/159994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 코딩테스트 1단계에 수록되어 있는 '카드 뭉치' 문제를 풀었습니다. 다른 사람의 풀이와 비교해보니 제가 조금 독특하게 풀었더라구요. 제 코드가 좀 지저분하긴 하지만 남들과 다른 아이디어로 푼 게 마음에 들어 sorted 문법 정리할 겸 풀이과정을 작성해보고자 합니다. 우선 제출한 답안은 다음과 같습니다. def solution(cards1, cards2, goal): cards1_s.. 2024. 4. 3.
알고리즘 | 정렬 (선택정렬/삽입정렬/버블정렬) 1. 선택정렬 # 0번째 아이템이 가장 작다고 가정하고 시작한다. # 만약 0번째 아이템보다 더 작은 아이템이 있다면 그중 가장 작은 놈과 0번째 아이템을 swap 한다. arr = [20, 12, 10, 15, 2] for i_step in range(len(arr)): # 현재 이터레이션에서 가장 작은 값의 인덱스가 무엇인지 min_step에 기록한다. # 앞으로 계속 갱신해 나간다. min_step = i_step for i in range(i_step+1, len(arr)): if arr[i] >> [2, 10, 12.. 2024. 4. 1.