최댓값, 최솟값 , 최빈값, 근삿값, 평균, 재귀 본문
****************************************************************************************************
INDEX
** 최댓값
** 최솟값
** 최빈값
** 근삿값
** 평균
** 재귀
****************************************************************************************************
** 최댓값
> 자료구조에서 가장 큰 값을 찾는다.
* 최대값을 0으로 초기화 한다.
* 가장 큰 값을 최대값 변수에 저장한다. 최대값 변수보다 큰 값을 만나면 교체해준다.
* 끝
** 최솟값
> 자료구조에서 가장 작은 값을 찾는다. ( 최대값과 같은 원리 )
* min_num이 n보다 큰 경우, n이 min_num보다 작으니까 min_num에 n값을 할당해준다.
* 루프가 돌면서 min_num 값은 더 작은 n값으로 교체될 것이며, 최솟값을 찾게 된다.
** 최빈값
> 빈도수가 가장 높은 데이터를 찾자!!
최소값 ~ 최대값 크기에 따라 정렬된 Index를 생성한다
num=list[3,2,1,6,11,19,20,20,20] 숫자가 총 9개 있지만 중복을 제외하면 7개
index=[0(1의 인덱스),0(2의 인덱스),0,0,0,0,0(20의 인덱스)]
count가 있으면 해당 위치에 +1
---------------------------------
index [1,1,1,1,1,1,3]
* 사실 최솟값과 최댓값을 알아야 한다, 0으로 채워진 index를 For문으로 그만큼 만들어야 하기 때문이다
* class를 생성해놓는다 ( 나중에 재활용 ). 이때 index 변수도 받을 것임을 선언한다.
* 최댓값과 최댓값의 index를 반환시키는 function도 간편하게 정의해놓자
* indexes에 for 문으로, 어떤 숫자를 만나면 해당 숫자가 위치한 index에 +1을 해준다. ( 끝 )
+ 나아가, 데이터가 굉장히 많은 경우에는 인덱스를 직접 확인하기가 힘들다, 따라서
* 인덱스를 최댓값클래스의 객체로 생성하고, 여기서 최댓값 구하기를 통해 인덱스를 받아온다.
* 원래의 데이터셋[인덱스 리스트의 최댓값 인덱스]를 통해서 바로 조회할 수 있다. (끝)
** 근삿값
> 특정 값(참값)에 가장 가까운 값!
> 원하는 값과 abs(원하는 값 - 다른 수들) , 즉 절대값으로 가장 작은 숫자를 확인하는 것이다.
** 평균
> 여러 수나 양의 중간값을 갖는 수
구현은 스킵
** 재귀
> 자신을 다시 호출하는 것을 재귀, recursion 이라고 한다
> return 함수자신()을 명시해야 한다!
> 잘 사용할수록 간결하고 효율적으로 코딩할 수 있다. 하지만 많은 연습이 필요하다.
* 또다른 예시로는 팩토리얼이 있다
'필요 없어진 항목들 > 코딩테스트 알고리즘' 카테고리의 다른 글
병합정렬 (0) | 2022.02.10 |
---|---|
하노이의 탑 (0) | 2022.02.10 |
정렬 알고리즘 - ( 버블 정렬, 삽입 정렬, 선택 정렬 ) (0) | 2022.02.09 |
순위 (0) | 2022.02.09 |
검색 알고리즘 - 선형 검색, 이진 검색 , 보초법 (0) | 2022.02.09 |