알고리즘 3

알고리즘 - 빅오 표기법 (Big-O notation)

알고리즘에 관하여 공부하다 보면 효율성을 계산해야 할 때가 많습니다. 어떻게 짜야지 속도가 더 빠른가 이런 부분으로 계산하는 데 자주 사용되는 방법인 빅오 표기법에 대하여 설명하고자 합니다. 빅오 표기법(Big-O notation)출처 : https://www.amazon.com빅오(Big-O) 표기법은 알고리즘의 시간 복잡도나 공간 복잡도를 표현할 때 표기하는 방법입니다. 일반적으로 최악의 경우 성능을 평가합니다. 이를 통해 알고리즘이 얼마나 많은 시간 혹은 메모리를 사용할지를 나타냅니다. 빅오 표기법을 통하여 효율성을 비교하고 알고리즘의 성능이 어떻게 변하는지 예측할 수 있습니다.시간 복잡도(Time Complexity) - 알고리즘의 입력에 따른 작업을 완료하는데 소요되는 시간공간 복잡도(Space..

Python (4) - 로또를 만들어보자

알고리즘 테스트를 할 때 가장 기본적으로 나오는 부분이 로또입니다. 적당히 난이도 있으면서 만들기 쉬운 프로그램이 로또입니다. 이번에는 간단한 로또 프로그램을 한번 만들어보겠습니다 알아야 할 것 random 모듈 : 파이썬에서 랜덤 뽑기등에서 사용하는 메소드다 random.random() 0~1의 임의의 난수를 호출한다 random.randrange(1,11) 1이상 11미만의 정수를 뽑는다 random.choice(obj) obj에 있는 값을 랜덤으로 뽑는다 우선 로또라서 임의의 값을 호출하는 방법으로 random 모듈을 활용하려고 합니다. 해당 모듈을 이용하여 소스코드 및 분석 다른 언어들은 배열을 비교하는 방식으로 중복 방지합니다. 파이썬에서는 set()라는 자료형이 있기 때문에 특성을 이용하여 중..

컴퓨터/Python 2021.07.17

Python (2) - 딕셔너리(dict)와 자판기 알고리즘

파이썬을 익숙하게 다루기 위하여 자판기 알고리즘을 표현해보았습니다. 여기서 파이썬의 다양한 특징을 보았습니다. 딕셔너리(dict) 자료형 Goods = {'1.칠성사이다':900,'2.코카콜라':1200,'3.비타500':700,'4.몬스터':2000} Goods_name=list(Goods.keys()) Goods_price=list(Goods.values()) c언어에서 그나마 비슷한 것이라고 하면 구조체 정도가 있습니다. (실제로 사용하는 것을 보면 많은 차이가 있다.) 파이썬의 딕셔너리 자료형은 key : value 이러한 구조로 이루어져 있으며 간단한 파이썬 내장 함수를 통하여 생성, 삭제, 응용을 할 수 있습니다. 제가 사용한 방법은 각각 배열 형태로 만들어 1대 1로 매칭 시키는 방법을 사용..

컴퓨터/Python 2021.03.10