본문 바로가기

백준 알고리즘 수업6

[파이썬] 백준 24052 알고리즘 수업 삽입 정렬 2 백준 24052 알고리즘 수업 - 삽입 정렬 2☞ 백준 사이트 : https://www.acmicpc.net/problem/24052 삽입정렬 로직주어진 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여,자신의 위치를 찾아 삽입하는 정렬.▶ 삽입정렬 정의와 유사 문제 풀이는 이전 글 참고 [파이썬] 백준 24051 알고리즘 수업 삽입 정렬 1백준 24051 알고리즘 수업 - 삽입정렬 1☞ 백준 사이트 : https://www.acmicpc.net/problem/24051삽입정렬 이란주어진 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여,자신의 위yuneenelife.tistory.com풀이배열의 1번 index부터 마지막까지 반복한다.값을 맨 앞까지 이동하.. 2024. 7. 16.
[파이썬] 백준 24051 알고리즘 수업 삽입 정렬 1 백준 24051 알고리즘 수업 - 삽입정렬 1☞ 백준 사이트 : https://www.acmicpc.net/problem/24051삽입정렬 이란주어진 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여,자신의 위치를 찾아 삽입하는 정렬이다.선택정렬이나 버블정렬과 같은 알고리즘에 비해 빠르며, 안정적인 정렬 알고리즘이다.삽입정렬 풀이 순서[4, 5, 1, 3, 2]을 오름차순 정렬로 변경하는 경우[4, 5, 1, 3, 2]2번 index 1을 0번 index부터 비교.4 보다 작아 0번 index에 insert나머지 shift[1, 4, 5, 3, 2] 3번 index 3과 4 비교 insert나머지 shift[1, 3, 4, 5, 2] 4번 index 2와 3 비교 insert나머지.. 2024. 7. 12.
[파이썬] 백준 23969 알고리즘 수업 버블 정렬 2 백준 23969 알고리즘 수업 - 버블 정렬 2☞ 백준 사이트: https://www.acmicpc.net/problem/23969버블정렬 로직배열의 두 수(a, b)를 비교하면서 정렬시킴. 이를 반복▷ [7, 2, 0, 1, 5, 6, 4] 정렬 예시[7, 2, 0, 1, 5, 6, 4] 0번 index 7,2 비교 swap[2, 7, 0, 1, 5, 6, 4] 1번 index 7,0 비교 swap[2, 0, 7, 1, 5, 6, 4] 2번 index 7,1 비교 swap[2, 0, 1, 7, 5, 6, 4] 3번 index 7,5 비교 swap[2, 0, 1, 5, 7, 6, 4] 4번 index 7,6 비교 swap[2, 0, 1, 5, 6, 7, 4] 5번 index 7,4 비교 swap[2, 0.. 2024. 7. 3.
[파이썬] 백준 23968 알고리즘 수업 버블 정렬 1 백준 23968 알고리즘 수업 - 버블 정렬 1 문제 풀이☞ 백준 사이트 : https://www.acmicpc.net/problem/23968 버블정렬이란배열의 두 수(a, b)를 선택한 뒤, 두 수를 비교하여 정렬이 필요하면 swap, 아니면 pass 한다.위 작업을 계속 반복하는 것이 버블정렬이다.시간복잡도 O(n2)로 상당히 느린 반면, 코드가 단순하기 때문에 자주 사용된다.▶ 오름차순 정렬이면 a ▶ 내림차순 정렬이면 a > b 판단하여 정렬 [ 4, 6, 5, 1, 3, 2] 정렬 대상 리스트인 경우 정렬 순서,[ 4, 6, 5, 1, 3, 2] 4,6 은 정렬, 6,5는 미정렬 → 1번 index 6, 5 swap[ 4, 5, 6, 1, 3, 2] 2번 index 6, 1 swap[ 4, 5.. 2024. 7. 1.
[파이썬] 백준 23899 알고리즘 수업 선택 정렬 5 백준 23899 알고리즘 수업 - 선택 정렬 5 문제 풀이☞ 백준 사이트 : https://www.acmicpc.net/problem/23899 선택정렬 로직주어진 리스트 값 중에 최대값을 찾는다.그 값을 맨 뒤에 위치한 값과 swap 한다.위 작업을 반복한다.[3, 1, 2, 5, 4][3, 1, 2, 5, 4] 최대값 5, 4번 index와 swap[3, 1, 2, 4, 5] 최대값 4, 3번 index에 있으므로 pass[3, 1, 2, 4, 5] 최대값 3, 2번 index와 swap[2, 1, 3, 4, 5] 최대값 2, 1번 index와 swap[1, 2, 3, 4, 5] 정렬 완성▶ 선택정렬의 정의는 이전 글 참고 [파이썬] 백준 23881 알고리즘 수업 선택 정렬1백준 23881 알고리즘 .. 2024. 6. 28.
[파이썬] 백준 23881 알고리즘 수업 선택 정렬1 백준 23881 알고리즘 수업 - 선택 정렬 1 문제풀이선택 정렬이란주어진 리스트 값 중에 최소값을 찾는다.그 값을 맨 앞에 위치한 값과 swap 한다.위 작업을 반복한다.[3, 1, 2, 5, 4] 선택 정렬 순서[3, 1, 2, 5, 4] → 최소값 1, 0번 index와 swap[1, 3, 2, 5, 4] → 최소값 2, 1번 index와 swap[1, 2, 3, 5, 4] → 최소값 3, 2번 index에 있으므로 pass[1, 2, 3, 5, 4] → 최소값 4, 3번 index와 swap[1, 2, 3, 4, 5] → 정렬 완성백준 23881 문제에 있는 선택정렬 의사코드는 최대값에서 거꾸로 찾아가는 코드라서 아래와 같다.주어진 리스트 값 중에 최대값을 찾는다.그 값을 맨 뒤에 위치한 값과 s.. 2024. 6. 26.