전체 글 25

파이썬 - random 모듈과 time 모듈

random 모듈 # n1 이상 n2 미만의 난수를 반환 import random random.randrange(n1, n2) # n1 이상 n2 이하의 랜덤 정수를 반환 import random random.randint(1, 5) # 리스트에 나열된 데이터 중 랜덤으로 n개를 선택하여 반환 import random random.sample([1, 2, 3, 4, 5], n) # 리스트에 나열된 데이터의 순서 섞기 import random abc = [‘a’, ‘b’, ‘c’, ‘d’] random.shuffle(abc) # 리스트의 데이터 중 랜덤으로 하나를 반환 import random abc = [‘a’, ‘b’, ‘c’, ‘d’] random.choice(abc) time 모듈 import ti..

자료구조 - 세트 (set)

# 집합 자료형 set() # 중복된 데이터를 제거하고 순서는 랜덤으로 반환한다. (인덱스는 못 씀!) s1 = set([1,2,3,4]) s2 = set([3,4,5,6]) return s1 & s2 # 교집합 -> {4, 5, 6} return s1.intersection(s2) # 교집합 -> {4, 5, 6} return s1 | s2 # 합집합 -> {1, 2, 3, 4, 5, 6} return s1.union(s2) # 합집합 -> {1, 2, 3, 4, 5, 6} return s1 – s2 # 차집합 -> {1, 2} return s2 – s1 -> {5, 6} return s1.difference(s2) # 차집합 -> {1, 2} return s2.difference(s1) -> {5, ..

기초 수학 - 파이썬 math 관련 함수/모듈

* 내가 정리한 내용만을 적어둔 게시글이니 이 게시글이 파이썬 math 함수/모듈의 전부는 아님을 알려드림! math 관련 함수 # 합 listVar = [2, 5, 3.14, 58, 10, 2] print(sum(listVar)) # 최댓값 listVar = [2, 5, 3.14, 58, 10, 2] print(max(listVar)) # 최솟값 listVar = [2, 5, 3.14, 58, 10, 2] print(min(listVar)) # 거듭제곱 (3의 2승) print(pow(3, 2)) # 반올림 (소수점 n번째 자리까지) print(round(3.141592, 1)) # 절대값 print(abs(-3)) math 모듈 # 절댓값 (마이너스 제거) import math print(math.f..

자료구조 - 딕셔너리 (dictionary)

딕셔너리 (Dictionary) 딕셔너리란 키(key)와 값(value)를 이용해서 자료를 관리한다. 딕셔너리는 리스트, 튜플과는 다르게 인덱스가 아닌 key로서 아이템을 관리한다. 주의할 점은 아이템이 중복될 수는 있으나 key는 중복이 있을 수 없다. 딕셔너리는 중괄호 {}와 콤마를 이용해서 선언하고, 키:값의 형태로 아이템을 정의한다. 딕셔너리의 아이템으로는 숫자, 문자뿐만 아니라 리스트, 튜플, 딕셔너리 등 모든 자료형이 들어갈 수 있다. 단, key에는 변경이 불가능한 immutable 값은 올 수 있지만 리스트와 같은 변경이 가능한 mutable 값은 올 수 없다. 딕셔너리 조회 딕셔너리는 키를 이용해서 값을 조회한다. name = {‘n1’:’홍길동‘} print(name[‘n1’]) 키를 ..

카테고리 없음 2022.11.14

자료구조 - 튜플 (tuple)

튜플(Tuple) 튜플은 리스트와 비슷하지만, 한 번 선언되면 아이템 변경(수정, 삭제 등)이 불가능하다. ‘()’를 이용해서 선언하고, 데이터의 구분은 ‘,’를 이용한다. 또한, 리스트와 마찬가지로 숫자, 문자 등 모든 종류의 데이터를 같이 저장할 수 있으며 튜플 안에 또 다른 튜플을 저장할 수도 있다. in / not in 키워드 in과 not in 키워드를 이용하면 문자열, 리스트, 튜플 등에서 아이템의 존재 유무를 알 수 있다. 튜플 결합 튜플은 아이템 변경이 불가능하기 때문에 리스트처럼 extend는 사용할 수 없고, 덧셈 연산자만 사용할 수 있다. name3 = name1 + name2와 같이 튜플1과 튜플2가 더해진 새로운 튜플이 만들어진다. 이때, name1 튜플 안에 있는 ‘홍길동’이라는..

자료구조 - 리스트 (list)

리스트(List) 자료구조에 대해 하나씩 살펴보자면 먼저, 리스트란 배열과 같이 여러 개의 데이터를 나열한 자료구조이다. []를 이용하여 선언하고, 데이터의 구분은 ‘,’를 이용한다. 리스트 안에는 숫자, 문자, 논리형 등 모든 기본 데이터를 함께 저장할 수 있다. datas = [10, 20, 30, [40, 50, 60]]와 같이 리스트에 또 다른 컨테이너 자료형 데이터를 저장할 수도 있다. 인덱스(Index) 인덱스란 아이템에 자동으로 부여되는 번호표이며, 0부터 시작한다. students[0]과 같이 인덱스를 이용하여 리스트 아이템을 조회할 수 있다. 이때, 인덱스로 조회한 데이터의 타입은 해당 데이터의 종류에 따라 list 타입이 아닌 str, int, float 등으로 나타난다. len() l..

자료구조 - 자료형

자료구조란 여러 개의 데이터가 묶여있는 자료형을 컨테이너 자료형이라고 하고, 이러한 컨테이너 자료형의 데이터 구조를 자료구조라고 한다. 자료구조는 각각의 컨테이너 자료형에 따라 차이가 있으며, 파이썬의 대표적인 컨테이너 자료형으로는 리스트(List), 튜플(Tuple), 딕셔너리(Dic), 세트(Set)가 있다. # List (데이터 변경 가능) students = [‘홍길동’, ‘박찬호’, ‘박승철’, ‘김지은’] # Tuple (데이터 변경 불가) jobs = (‘의사’, ‘속기사’, ‘전기기사’, ‘회계사’) # Dic (key 값에 해당하는 value 값으로 이루어진 구조) scores = {‘kor’:88, ‘eng’:91, ‘mat’:95, ‘sci’:90} # Set (중복된 자료 허용X) ..

기초 수학 - 팩토리얼, 순열, 조합, 확률

팩토리얼 팩토리얼은 1부터 양의 정수 n까지의 정수를 모두 곱한 것이다. n!이라는 기호를 사용하며, 주의할 점은 0!의 경우 값이 1이라는 것이다. 팩토리얼의 값을 구하는 방식은 여러 가지가 있다. # 반복문(for)을 이용하는 경우 result = 1 for n in range(1, inputN+1): result *= n # 반복문(while)을 이용하는 경우 result = 1 n = 1 while n (4x3)/35 -> 12/35 꽝:2, 선물:1 -> (4C2 x 3C1) / 35 -> (6x3)/35 -> 18/35 꽝:3, 선물:0 -> (4C3) / 35 -> 4/35

기초 수학 - 수열 (등차, 등비, 시그마, 계차, 피보나치, 군수열)

수열 수열이란 규칙성을 가지고 나열되어 있는 수들이다. 예를 들어 2의 배수라는 수열은 2, 4, 6, 8 ... x까지이고 각각의 수를 항이라고 부른다. a1항부터 시작하여 an항까지가 수열인데 여기서 an항은 일반항이라고 부른다. 2의 배수 수열의 일반항은 2n이다. 특정항까지의 합은 Sn이라고 하는데, 이 특정항은 특정항까지의 합과 특정항 이전 항까지의 합의 차이이다. 식으로 나타내자면, an = Sn – S(n-1) 이다. 등차 수열 등차 수열이란 두 항의 차이가 일정한 수열이다. 이때, 두 항의 차이를 공차(d)라고 한다. 등차 수열의 규칙성을 이용하여 일반항을 구할 수 있다. 일반항은 an = a1 + (n-1) * d 이다. 등차 중항이란 연속된 세 항 가운데 항을 뜻한다. 등차 중항을 구하..

트리(Tree) 자료구조

- 트리는 가계도와 같은 계층적인 구조를 표현할 때 사용할 수 있는 자료구조 트리 관련 용어 - 루트 노드(root node) : 부모가 없는 최상위 노드 (A) - 단말 노드(leaf node) : 자식이 없는 노드 (C, E, F, G) - 크기(size) : 트리에 포함된 모든 노드의 개수 - 깊이(depth) : 루트 노드로부터의 거리 (A는 0 / B, C는 1 / D, E, F는 2 / G는 3) - 높이(height) : 깊이 중 최댓값 (3) - 차수(degree) : 각 노드의 (자식 방향) 간선 개수 - 기본적으로 트리의 크기가 N일 때, 전체 간선의 개수는 N-1개 이진 탐색 트리 - 이진 탐색이 동작할 수 있도록 고안된 효율적인 탐색이 가능한 자료구조의 일종 - 이진 탐색 트리의 특..