본문 바로가기
728x90
반응형

Python4

그룹 알고리즘 w/파이썬 특정 키값에 해당하는 그룹화된 합계 리스트를 만든다 항목명 수량 RADIO 3 TV 1 RADIO 2 DVD 4 이런 식으로 중구난방으로 흩어진 값인데 항목명 수량 DVD 4 RADIO 5 TV 1 수량을 항목별로 더해서 합계를 내고, 정렬하고 싶다. 어차피 문자도 아스키 코드값 따라가니까 우리가 아는 그 사전 순서대로 정렬이 될거고, 정렬은 똑같이 진행하면 되는데 같은 상품명일 때 수량을 누적합계 내고 다음 항목과 다르거나, 마지막이면 저장. #그룹 알고리즘: 특정 키값에 해당하는 그룹화된 합계 리스트 만들기 #[?] 컬렉션형태의 데이터를 특정 키값으로 그룹화 #테스트용 레코드클래스 class Record(): def __init__(self, name, quantity): self.name = nam.. 2023. 5. 29. 10:49
최빈값 알고리즘 w/파이썬 가장 많이 나타난 값 : 최빈값 최빈값이 무엇인지를 구하는 알고리즘. 스코어 배열을 가지고 판단하기 위해 스코어 범위를 나타내는 배열이 하나 필요하다 범위의 인덱스 자리값에 해당하는 스코어를 하나씩 추가한다 3이 나오면 3번지에 +1 이런 식으로. 그렇게 채워진 범위 인덱스 배열에서 최댓값이 최빈값이 되는 구조. #[?]주어진 데이터에서 가장 많이 나타난 값 import sys #[1]input scores = [1,3,4,3,5] #0~5점까지만 허용한다고 가정 indexes = [0] * 6 #0~5점 점수 인덱스: 갯수 저장 max = -sys.maxsize - 1 #맥스알고리즘 적용 mode = 0 #최빈값이 담길 그릇 n = len(scores) m = len(indexes) #[2]proces.. 2023. 5. 28. 19:28
병합 알고리즘 w/파이썬 first = [1,3,5] , second = [2,4] 두 배열을 [1,2,3,4,5]로 합치고 싶다. 각 배열의 처음 순서부터 비교하여 1 1을 선택 3 > 2 -> 2를 선택 3 3을 선택 5 > 4 -> 4를 선택 - > 그리고 마지막 남은 5를 처리한다. #[?] 2개의 정수배열 합치기 : 오름차순 정렬 가정 #병합알고리즘 : 오름차순 정렬된 정수 배열 2개를 하나로 병합 #[1] input - 정렬되지 않은 배열인 경우 정렬이 필요함 first = [1,3,5] second = [2,4] m = len(first) n = len(second) merge = [0]* (m+n) #m+n자리만큼 병합데이터 들어갈 배열을 만듦 i = 0 j = 0 k = 0 #[2] pr.. 2023. 5. 21. 19:28
이진 검색 알고리즘 w/파이썬 정렬된 데이터를 이진 검색을 활용하여 반띵. 내 신발 가격 10만원 업 다운? 업 -> 15만원 -> 다운-> 12만원 -> 업 -> 14만원! 평소에 이런식으로 물건 가격 맞추기 했던 기억을 되살려서 문제를 풀어보자. 로우 하이 인덱스값을 지정하고, 로우와 하이 인덱스의 중간지점에 평균 미드 인덱스를 지정한다. 그리고 그 미드인덱스 값이 찾는 값보다 큰지 작은지에 따라 로우/하이를 조정하여, 찾는 값이 나올때까지 while반복. #검색알고리즘(search algorithm): 주어진 데이터에서 특정 데이터를 찾음 #정렬되어있는 데이터를 이진검색을 사용하여 반띵나눠서 검색 def main(): #[1]input data = [1,3,5,7,9] #오름차순정렬로 가정 - 안되어있는 경우 정렬 필요 n = .. 2023. 5. 20. 15:51
728x90
반응형