반응형 분류 전체보기132 Sorting algorithm(정렬 알고리즘) 2탄 - Insertion sort(삽입 정렬) 2. Insertion sort 삽입 정렬 - 왼쪽에서 2번째 수와 첫번째 수를 비교해서 작은 걸 첫번째에 위치시킴. (둘을 swap.) → 다음 수 즉, 왼쪽에서 3번째 수와 이미 정렬한 두 수를 비교하여 3번째 수의 위치를 찾아서 정렬시킴. → 같은 방식으로 4번째 수와 1~3번째 수를 비교해서 정렬시킴. → 계속 반복. 왼쪽에서 첫번째 수(70)는 이미 정렬된 것으로 간주. 왼쪽에서 두번째 수 30 < 70 → 30의 위치는 70의 앞이여야 하므로 30과 70 swap. 30, 70은 정렬됨. 100 vs 70 → 70 < 100 이므로 100은 70 다음이어야 함. 즉, swap할 필요 없음. 60 vs 100 → 60 < 100 이므로 100과 60 swap. 60 vs 70 → 60 < 70 .. 2022. 7. 1. Sorting algorithm(정렬 알고리즘) 1탄 - Selection sort(선택 정렬) 💗 Sorting algorithm (정렬 알고리즘) : 데이터 등을 일정 순서대로 정렬, 나열하는 알고리즘. 💗 정렬 알고리즘 종류 1. Selection sort (선택 정렬) 2. Insertion sort (삽입 정렬) 3. Merge sort (합병 정렬) 4. Bubble sort (거품 정렬, 버블 정렬) 1. Selection sort (선택 정렬 알고리즘) - 가장 작은 수와 가장 왼쪽에 있는 수를 swap. → 가장 작은 수를 제외한 나머지 수들 중 최소 값과 가장 왼쪽에 있는 수를 swap. → 이런 식으로 계속 반복. 최소값: 5 가장 왼쪽 값: 70 5 ↔ 70 5는 정렬 완료. 정렬되지 않은 값들 중 최소값: 60 정렬되지 않은 값들 중 가장 왼쪽 값: 100 60 ↔ 100 동.. 2022. 6. 30. [백준] 8단계 - 4948번 (파이썬) check! 4948번 https://www.acmicpc.net/problem/4948 애증의 소수....😫 이번에도 '시간초과' 문제가 계속 발생했다. 어떤 분이 '에라토스테네스의 체'를 살펴보라고 하셔서 에라토스테네스의 체를 이용해서 문제를 풀었더니 다행히 문제가 풀렸다. 위키백과에 있는 에라토스테네스의 체 코드를 그대로 이용하는 방식(버전1)과 해당 코드를 응용해서 문제에 맞게 변형하여 푼 방식(버전2), 총 2가지 방법으로 문제를 풀어봤다. (참고로 버전1이 더 깔끔한 것 같긴 하다...) # 버전1 # n 미만의 소수 찾기(에라토스테네스의 체). def prime_list(n): # 초기화: n개 요소에 True 설정(소수로 간주) ans = [True] * n for i in range(2, int(n .. 2022. 6. 29. 에라토스테네스의 체(소수 찾기) 백준 4948번을 푸는데 또 계속 시간초과가 떠서 결국 백준에서 질문을 검색해봤는데, '에라토스테네스의 체'에 대해 공부해보라는 답글을 발견했다. 그래서 '에라토스테네스의 체'에 대해서 한번 알아봤다. https://ko.wikipedia.org/wiki/%EC%97%90%EB%9D%BC%ED%86%A0%EC%8A%A4%ED%85%8C%EB%84%A4%EC%8A%A4%EC%9D%98_%EC%B2%B4 에라토스테네스의 체 - 위키백과, 우리 모두의 백과사전 ko.wikipedia.org '에라토스테네스의 체'는 에라토스테네스(Eratosthenes)라는 수학자가 찾은, 소수 찾는 방법이라고 한다. 가장 작은 소수(2)를 하나 찾으면 그 소수의 배수들을 전부 제외시킴. → 남은 것들 중 가장 작은 소수 하나.. 2022. 6. 29. 이전 1 ··· 11 12 13 14 15 16 17 ··· 33 다음 반응형