탐색(2)
-
이진 탐색 개념 정리(이진 탐색 / 시간복잡도 / 파이썬 구현)
이진 탐색 강의 : https://www.youtube.com/watch?v=94RC-DsGMLo&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=5 탐색의 개념 - 특정한 데이터를 찾기 위해 데이터를 찾는 과정 탐색의 종류 - 순차 탐색과 이진 탐색 순차 탐색 - 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 확인하는 방법 - 시간복잡도 : O(N^2) 이진 탐색 - 정렬되어있는 리스트에서 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 방법 - 이진 탐색은 시작점, 끝점, 중간점을 이용하여 탐색 범위를 설정한다. - 시간복잡도 : O(LogN) 이진탐색의 구현 방법 0. 이진 탐색을 하기 이전 리스트를 정렬한다. 1. 시작점(0), 끝점(9),..
2021.06.24 -
백준 온라인 저널, 구현, 수학/4673번 : 셀프 넘버(파이썬)
문제 정의 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으로 다음과 같은 수열을 만들 수 있다. 33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, ... n을 d(n)의 생..
2021.06.16