일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 정보 소유권
- 구글 이권다툼
- 수익성
- 샤오미
- 클릭몬
- 저품질
- 구글 플레이
- 갤럭시 S7
- 총판
- 예제
- 데이터 센터
- 플로팅 배너
- 네이버 포스트
- 해저 데이터서버
- 1위 기업
- Stagefright
- 후기영상
- 트위터
- 크라우드 펀딩
- 폐쇄형 SNS
- .animate
- MI5
- 영상 만들기
- 인스타그램
- jQuery
- P9
- Math.random
- 안드로이드
- 화훼이
- 안드로이드의 파편화
- Today
- Total
목록CODE/Python (8)
IT & CODE 이야기
가장 기초적인 방식인 순차정렬은 O(n^2)의 복잡도를 가지고 있다 # 선택정렬 알고리즘 # O(n^2) def sel_sort(array): n = len(array) for x in range(0,n-1): for y in range(x+1,n): if array[x]>array[y]: array[x],array[y] = array[y],array[x] return array print(sel_sort([64,24,65,321,8,5,1]))
순차탐색 알고리즘을 배우면서 드디어 알고리즘 다운 부분으로 넘어간 기분이다. 가장 기초적인 방식인 순차탐색은 O(n)의 복잡도를 가지고 있다 # 순차탐색 알고리즘 v = [17, 92, 18, 33, 58, 5, 33, 42] def search_list(array, target): for x in range(0,len(array)): if array[x] == target: return x return -1 print(search_list(v, 33)) print(search_list(v, 399)) print(search_list(v, 17))
최대공약수 구하기(GCD) def gcd(a,b): min_num = a if a
팩토리얼 계산하기 사용언어: Python 재귀적 방법을 사용하여 계산할 수 있다 def factorial_recursion(i): if i == 1: return 1 return i*factorial_recursion(i-1) def factorial_cal(i): result = 1 for x in range(1,i+1): result*=x return result num = 100 print(num,"! =") print(factorial_recursion(num)) print(factorial_cal(num))
배열속 중복된 값 찾기 사용언어: Python 첫 for문에서 n-1을 틀려버렸다ㅠㅠ a = [17, 92, 18, 33, 58, 7, 33,42] b = ['Mike','Tom','Jerry','Tom'] def find_multiple_value(arr): data= set() length = len(arr) for x in range(0,length-1): for y in range(x+1,length): if arr[x] == arr[y]: data.add(arr[x]) break return data print('in ',a) print(find_multiple_value(a)) print('in ',b) print(find_multiple_value(b))
배열속 최대값 찾기 사용언어: Python 파이썬은 루비와 다르게 심볼의 개념이 없어서 오류 한바탕 했다ㅠ a = [17, 92, 18, 33, 58, 7, 33,42] def max(arr): data= {'position': 0, 'value': 0} for x in range(0,len(arr)): if arr[x] > data['value']: data['value'] = arr[x] data['position'] = x return data print(max(a))
1부터n까지의 합 구하기사용언어: Python 하나하나 더하기 => sum_On 복잡도가 횟수에 비례하므로 O(n) 합공식 사용하기 => sum_O1 복잡도가 3회 이므로 O(1) a = int(input("sum 1 to number")) def sum_On(a): sum = 0 for x in range(1,a+1): sum+=x return sum def sum_O1(a): return a*(a+1)/2 print(sum_On(a)) print(sum_O1(a)) 복잡도를 이해하는 문제였다
절댓값 함수 만들기 a 가 0 보다 큰지 확인하는 방법 => abs_sign a를 제곱후 루트하는 방법 => abs_squareimport math a = int(input("input number")) def abs_sign(a): result = a if a>0 else -a return result def abs_square(a): a*=a return math.sqrt(a) print(abs_sign(a)) print(abs_square(a)) 첫 문제 치고 삼항 연산자가 파이썬에서는 먹지 않아서 생각보다 시간이 지체되었다