728x90 파이썬3 어디 숨었니? 반으로 쪼개며 찾자! - 이진 탐색(Binary Search) 쉽게 배우기 안녕하세요 logro 입니다 :)오늘은 많은 알고리즘 문제에서 자주 등장하는 이진 탐색(Binary Search)을 쉽게 배워볼 거예요!"탐색"이라고 하면 뭔가 어렵고 무거운 느낌이 들 수 있지만, 실제로는 "정렬된 목록에서 빠르게 찾는 방법" 정도로 이해하면 OK! 👌🧠 이진 탐색이란?이진 탐색은 정렬된 데이터에서 원하는 값을 찾을 때 사용하는 알고리즘이에요.핵심 아이디어는 간단해요:"가운데 값을 확인하고, 내가 찾는 값이 더 작으면 왼쪽에서, 더 크면 오른쪽에서 다시 찾자!" 무작정 처음부터 끝까지 찾는 **선형 탐색(linear search)**보다 훨씬 빠르답니다! 😎🎯 언제 써야 할까?데이터가 정렬되어 있을 때만!빠르게 값을 찾고 싶을 때예: 정렬된 숫자 리스트, 사전 순 정렬된 문자열 .. 2025. 3. 28. 알고리즘의 속도를 말해주는 마법의 도구, 시간 복잡도란? 안녕하세요 logro 입니다 :)오늘의 개념은 알고리즘을 공부할 때 절대 빼놓을 수 없는 시간 복잡도(Time Complexity) 에 대한 이야기예요. 처음에는 좀 생소하고 어렵게 느껴질 수 있지만, 막상 알고 보면 꽤나 흥미로운 개념이랍니다 😄✨ 시간 복잡도란?간단히 말해서 시간 복잡도는 '입력 크기(n)에 따라 알고리즘이 얼마나 오래 걸리는지'를 수학적으로 표현한 것이에요.예를 들어, 정렬 알고리즘을 하나 짠다고 해볼게요. 입력으로 숫자 10개가 들어왔을 때랑 1,000개가 들어왔을 때, 당연히 처리 시간은 달라지겠죠? 이처럼 입력 크기에 따라 걸리는 시간을 함수로 나타낸 게 시간 복잡도예요.그리고 우리는 이걸 "빅오(Big-O) 표기법"으로 표현합니다. 정렬 알고리즘 3형제 비교하기 🧼🧢🖊.. 2025. 3. 28. 정렬 알고리즘 3형제 비교하기 🧼🧢🖊️: 버블 vs 선택 vs 삽입 안녕하세요 logro 입니다 :)오늘의 하루 한 개념은 정렬 알고리즘의 대표 3형제,버블 정렬, 선택 정렬, 삽입 정렬을 비교하면서 이해해보는 시간이에요 💡이 세 가지는 모두 간단하고 직관적이라서, 알고리즘 입문자라면 꼭 한 번은 만나게 됩니다.그럼 하나씩 알아볼까요? 😊🧼 버블 정렬 (Bubble Sort)"옆에 있는 값이랑 비교해서 큰 걸 뒤로 보내기!"버블 정렬은 인접한 두 값을 비교해서 큰 값을 점점 뒤로 보내는 방식이에요.이걸 반복하면 가장 큰 값이 맨 뒤로 ‘둥둥’ 떠오르듯 정렬돼요.def bubble_sort(arr): for i in range(len(arr)): for j in range(len(arr)-1-i): if arr[j] > arr[j.. 2025. 3. 28. 이전 1 다음 728x90