본문 바로가기

최댓값, 최솟값 , 최빈값, 근삿값, 평균, 재귀 본문

필요 없어진 항목들/코딩테스트 알고리즘

최댓값, 최솟값 , 최빈값, 근삿값, 평균, 재귀

jaegomhoji 2022. 2. 9. 17:12

****************************************************************************************************

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 함수자신()을 명시해야 한다!

> 잘 사용할수록 간결하고 효율적으로 코딩할 수 있다. 하지만 많은 연습이 필요하다. 

 

* 또다른 예시로는 팩토리얼이 있다 

Comments