목록전체 글 (92)
log.Sehee
선형검색: 선형으로 나열되어 있는 데이터를 순차적으로 스캔하면서 원하는 값을 찾는다.보초법 : 마지막 인덱스에 찾으려는 값을 추가, 찾는 과정을 간략화한다. 이진검색: 정렬되어 있는 자료구조에서 중앙값과의 크고 작음을 이용해서 데이터를 검색한다. 순위: 수의 크고 작음을 이용해서 수의 순서를 정하는 것 버블정렬: 인접한 인덱스의 값을 순차적으로 비교하면서 큰 숫자를 끝으로 옮기는 알고리즘array = [2, 5, 4, 3, 1, 8, 7, 6, 9]def bubble_sort(array): # 9 n = len(array) for i in range(n - 1): # 0 ~ 7 / 0 ~ 6 / ... for j in range(n - i - 1): ..
리스트import randomrandom_nums = random.sample(range(1, 101), 10)evens, odds = [], []for n in random_nums: if n % 2 == 0: evens.append(n) else: odds.append(n)print(f"짝수: {evens}, 개수: {len(evens)}개")print(f"홀수: {odds}, 개수: {len(odds)}개")friends = []for _ in range(5): f = input("친구 이름 입력: ") friends.append(f)up = sorted(friends)down = sorted(friends, reverse=True)print(f"친구들..
튜플(Tuple): 불변한 자료형으로 생성된 후 그 값을 변경할 수 없다.()을 이용해서 선언하며 생략 가능하다. 데이터 구분은 ','을 이용한다.숫자, 문자열, 논리형 등 모든 기본 데이터를 같이 저장할 수 있으며 또 다른 컨테이너 자료형 데이터를 저장할 수 있다.리스트와 마찬가지로 인덱스를 가지고 있으며 인덱스를 사용하며 특정 위치의 아이템을 조회할 수 있다. in, not in: in, not in 키워드를 사용하여 아이템의 존재 유무를 알 수 있다.str = ['a', 'b', 'c']if 'a' in str: print('yes') # yes if 'a' not in str: print('yes') # 미출력 str_2 = 'apple'if 'p' in str_2: ..
자료구조: 컨테이너 자료형의 데이터 구조컨테이너 자료형 : 여러 개의 데이터가 묶여있는 자료형 자료구조는 각각의 컨테이너 자료형에 따라서 차이가 있으며파이썬의 대표적인 자료형은 리스트(List), 튜플(Tuple), 딕셔너리(Dic), 세트(Set)가 있다. 리스트(List): 배열과 같이 여러 개의 데이터를 나열한 자료구조[]를 이용해서 선언하고, 데이터 구분은 ','를 사용한다.숫자, 문자열, 논리형 등 모든 기본 데이터를 같이 저장할 수 있으며 리스트에 컨테이너 자료형 데이터를 저장할 수 있다.len()으로 리스트의 길이를 구할 수 있으며, 리스트 길이란 리스트에 저장된 아이템 개수를 뜻한다. 인덱스(Index): 아이템에 자동으로 부여되는 번호표리스트 아이템은 인덱스를 이용해서 조회 가능하다. e..
약수와 소수import randomnum = random.randint(100, 1000)print(f'num: {num}')for n in range(1, num+1): soinsu_flag = 0 if num % n == 0: print(f'[약수]: {n}') soinsu_flag += 1 if n != 1: flag = True for i in range(2, n): if n % i == 0: flag = False break if flag: print(f'[소수]: {n}') soinsu_flag += 1 ..
약수: 어떤 수를 나누어 떨어지게 하는 수 소수: 1과 자신만을 약수로 가지는 수 (1은 제외) 소인수: 약수 중 소수인 숫자 소인수분해: 1보다 큰 정수를 소인수의 곱으로 나타낸 것EX) 20의 소인수분해 : 2^2 * 5 공약수: 두 개 이상의 수에서 공통된 약수 최대공약수: 공약수 중 제일 큰 수 유클리드 호제법: x, y의 최대공약수는 y, r(x%y)의 최대공약수와 같다.EX) 12와 36의 최대공약수 : 3x y r12%36=1236%12=312%3=0나머지가 0일 때 까지 나눗셈한다. 공배수: 두 개 이상의 수에서 공통된 배수 최소공배수: 공배수 중 가장 작은 수 진법: 특정 숫자 몇 개를 사용하여 수를 표시하는 방법EX) 2진법 : 0, 1 (2개)8진법 : 0, 1, 2, 3, 4, 5..