순위 : 수의 크고 작음을 이용해서 수의 순서를 정하는 것

-숫자들끼리 크기를 비교하면서 작은 숫자에 1씩 더해주며 순위를 정해준다.
-순위 알고리즘 코드

-결과

→ rank는 1등, 2등처럼 등수를 나타내기 때문에 ranks 인덱스에 1씩 더해주어 표현한다.
버블정렬
-처음부터 끝까지 인접하는 인덱스의 값을 순차적으로 비교하면서 큰 숫자를 가장 끝으로 옮기는 알고리즘

-버블정렬 알고리즘 코드

→새롭게 알게된 것: 아이템끼리 자리를 바꿔줄 때,
nums[j], nums[j+1] = nums[j+1], nums[j] 구문(python에 내장된 기능)을 사용해주면 두 값의 자리가 바뀐다.
-결과

삽입정렬
-정렬되어 있는 자료 배열과 비교해서 정렬 위치를 찾음

→ 한 정렬이 끝나면 그 다음 숫자와 앞에 정렬된 배열과 비교해서 또 다시 정렬하는 방법
-삽입정렬 알고리즘 코드(오름차순)

-결과

-삽입정렬 알고리즘 코드(내림차순)

-결과

-삽입정렬 알고리즘 코드(함수 사용)

→ asc = True 이면 오름차순 정렬이 되고, asc = False 이면 결과값과 같이 내림차순 정렬이 된다. 함수를 이용하면 사용자가 편하게 원하는 정렬방식을 선택할 수 있다는 점이 확연하게 느껴졌다.
오늘의 학습 느낀점: 알고리즘은 개념자체도 익숙하지 않은데, 이걸 코딩하려고 하니 더 여럽게 느껴졌다. 그렇지만, 어렵게 느껴진다고 안할 수는 없으니.. 역시 다시 한 번 더 강의를 들으면서 복습해야겠다. 반복밖에는 답이 없다...