본문 바로가기
반응형

전체 글133

Sorting algorithm(정렬 알고리즘) - 4탄 Bubble sort(버블 정렬) 4. Bubble sort (거품 정렬, 버블 정렬) ▪ 바로 옆의 수와 비교해서 큰 수를 뒤로 정렬하는 방법 ▪ 시간 복잡도: O(n²) (예) # Bubble sort (거품정렬, 버블정렬) from typing import List def bubble(L: List) -> List: for i in range(len(L)): for j in range(len(L)-1): if L[j] > L[j+1]: L[j], L[j+1] = L[j+1], L[j] return L bubble([3, 91, 1, 5, 7, 2]) #답: [1, 2, 3, 5, 7, 91] 참고: https://ko.wikipedia.org/wiki/%EA%B1%B0%ED%92%88_%EC%A0%95%EB%A0%AC 2022. 7. 13.
[내돈내산 후기] 테라로사 포스코센터점 저는 커피 중독자 수준으로 커피를 좋아합니다. 그렇다고 커피에 대한 지식이 많은 건 아니고 그냥 취향에 맞는 카페를 발견하면 주구장창 가고 뭔가 맘에 드는 카페가 보이면 꼭 찾아가 보는 정도입니다. (미국 가서 이렇게 맘대로 카페 투어를 못 한 걸 생각하니 참 슬프네요..ㅠㅠ) 커피에 조금만 관심이 있으면 '테라로사'는 무조건 들어봤을텐데, 처음에 들었을 때는 서울에 테라로사가 없어서 못 가봤어요. 요즘은 서울에도 많이 생겨서 꼭 가봐야지 생각하고 있었는데, 한국을 떠날 때가 돼서야 가보게 되었네요...ㅎㅎ 제가 이번에 가본 곳은 테라로사 포스코센터점입니다. http://naver.me/G0fJOeQe 테라로사 포스코센터점 : 네이버 방문자리뷰 4,538 · 블로그리뷰 1,395 m.place.nave.. 2022. 7. 11.
[백준] 11단계 - 2751번 (파이썬) check! 2751번 https://www.acmicpc.net/problem/2751 정렬문제인데, merge sort를 써도 시간초과가 계속 떠서 알아보니... sorting의 문제가 아니라 input의 문제였다. input()을 반복적으로 이용하면 시간이 초과가 뜬다. 모듈 sys의 stdin.readline()를 이용해서 시간을 줄여야 한다. 주의해야 할 점은 readline()을 쓰면 개행문자(?) (\n, \t 등)가 포함된 채 입력된다는 점인데... 실제로 풀어본 결과 음...strip()을 쓰지 않아도 정답이 떴다. 왜 그런지 잘 모르겠다. 조금 더 조사해봐야 겠다. 여하튼, 일단은 정답이라고 뜬 코드는 아래와 같다. (두 버전 다 그냥 sort 내장함수를 이용했다.) # 버전1 (개행문자 없애는 작.. 2022. 7. 10.
Sorting algorithm(정렬 알고리즘) 3탄 - Merge Sort(합병 정렬) 3. Merge Sort (합병 정렬) ▪ 정렬된 두 리스트가 있을 때 (리스트1, 리스트2), 각각의 첫번째 수를 비교해서 작은 수를 정렬. → (리스트1의 첫번째 수가 정렬됐다고 가정하면,) 리스트1의 두번째 수와 남은 수 즉, 리스트2의 첫번째 수를 비교해서 정렬. → 동일한 방식으로 계속 진행해서 정렬된 하나의 리스트를 만듦. (그래서 병합이라고 하나 봄!!!ㅋㅋㅋ) ▪ 주의: 병합하기 전 두 리스트는 이미 정렬되어 있어야 함. 즉, Recursion을 이용해서 해당 두 리스트도 Merge sort 방식으로 정렬해야 함! ▪ 특징 : Memory Complexity는 Time Complexity는 (예) 정렬된 두 리스트 첫번째 수: 30 vs 2 → 2가 작으므로 2는 병합리스트 맨 앞에 위치... 2022. 7. 10.
반응형