타이핑하며 학습. 23.11.21 수정 Sorting Algorithm Github에 정리했었던 버블, 삽입, 선택 알고리즘 정렬 https://github.com/SikHyeya/TIL/blob/main/Algorithm/Sorting.md 1. 버블 정렬(Bubble Sort)이란? 버블 정렬은 서로 인접한 두 원소를 비교해서 정렬하는 알고리즘. 시간복잡도 : O(n^2) 2. 선택 정렬(Selection Sort)이란? 선택 정렬은 첫 번째 값을 두 번째 값부터 마지막 값까지 차례대로 비교하여 최솟값을 찾아 첫 번째에 놓고, 두 번째 값을 세 번째 값부터 마지막 값까지 비교해 최솟값을 찾아 두 번째에 놓는 과정을 반복해 정렬하는 알고리즘. 시간복잡도 : O(n^2) 3. 삽입 정렬(Insertion..
230413 목요일 학습 주제 해시(Hash) - 완주하지 못한 선수 참가자 중에는 동명이인이 있을 수 있다는 것이 이 문제의 포인트였다. 만약 이름 대신 번호가 주어졌다면 배열이라는 자료형을 사용했겠지만, 이름이 주어졌고 해시 테이블의 형태로 만들어진 딕셔너리 자료형을 사용하였다. 이 코드의 복잡도는 O(n)-(Linear Time)이다. 만약 이 문제를 정렬을 이용해서 풀었다면 O(nlogn)의 복잡도를 가지므로 좋은 선택이 아니다. # 해시(Hash) - dictionary 이용 def solution(participant, completion): d = {} for x in participant: d[x] = d.get(x, 0) + 1 for x in completion: d[x] -= 1 dn..