Python - 알고리즘 (버블정렬,삽입정렬,선택정렬)
·
IT/Python
버블정렬처음부터 끝까지 인접하는 인덱스의 값을 순차적으로 비교하면서큰 숫자를 가장 끝으로 옮기는 알고리즘이다.nums = [10, 2, 7, 21, 0]을 순서대로 정렬하는 문제nums = [10, 2, 7, 21, 0]print(f'not sorted nums : {nums}')length = len(nums) -1 # 마지막 index를 얻기 위해for i in range(length): for j in range(length - i): # 이미 정렬된 부분은 다시 검사할 필요 x , -i를 통해 이미 정렬된 끝 부분 제외 if nums[j] > nums[j+1]: #앞뒤 비교하고 nums[j], nums[j+1] = nums[j+1],nums[j] # 자리 바..
Python - 알고리즘 (순위)
·
IT/Python
순위란?수의 크고 작음을 이용해서 수의 순서를 정하는 것을 순위라고 한다.50~100가지의 수 중 랜덤으로 20개뽑고 그 안에서 순위 정하는거import randomnums = random.sample(range(50,101), 20)ranks = [ 0 for i in range(20)] # 0, 20개 만들기print(f'nums: {nums}')print(f'ranks: {ranks}')for idx, num1 in enumerate(nums): # nums 리스트의 각 요소(num1)와 그 인덱스(idx)를 순회 for num2 in nums: # nums 리스트의 모든 요소(num2)를 다시 순회 if num1 결과실습학급 학생 (20명)들의 중간고사와 기말고사 성적을 이용해서..
Python - 알고리즘 (선형검색,이진검색)
·
IT/Python
선형검색선형으로 나열되어 있는 데이터를 순차적으로 스캔하면서 원하는 값을 찾는다.datas = [3,2,5,7,9,1,0,8,6,4]print(f'datas: {datas}')print(f'datas length : {len(datas)}')searchData = int(input('찾으려는 숫자 입력 : '))searchResultIdx = -1n = 0while True:if n == len(datas):searchResultIdx = -1breakelif datas[n] == searchData:searchResultIdx = nbreakn += 1print(f'searchResultIdx : {searchResultIdx}')문제풀이 :len(datas)까지 n이 계속 증가하면서 숫자를 찾는데 만..
Python - 자료구조
·
IT/Python
자료구조 개요자료구조는 데이터를 효율적으로 저장하고 관리하기 위한 컴퓨터 과학의 핵심 개념이다. 파이썬에서는 다양한 자료구조를 제공하여 데이터의 추가, 삭제, 접근과 같은 연산을 용이하게 한다.리스트(Lists)리스트는 데이터의 순서가 있는 시퀀스이다.데이터 추가: append(), insert()데이터 삭제: remove(), pop()데이터 접근: 인덱싱, 슬라이싱리스트에 아이템 추가하기append() 함수 사용 예시:my_list = ['홍길동', '박찬호', '이용규', '박승철', '김지은']my_list.append('강호동')print(my_list) # 출력: ['홍길동', '박찬호', '이용규', '박승철', '김지은', ‘강호동']insert() 함수 사용 예시:my_list = ['..