본문 바로가기

Programming

[Algorithm] 주어진 배열에서 가장 많이 등장하는 숫자를 반환하는 알고리즘

728x90
반응형



위의 알고리즘은 N개의 배열을 입력 받으면 i번째 있는 값이 N개중 몇번나오는지 체크후 가장 큰 값을 남긴다. 즉 N개의 숫자를 N번 확인 하기 떄문에 시간 복잡도와 빅오는   값을 가진다.


위의 알고리즘은 N개의 배열의 숫자를 전혀 모를때 사용하기 적합하지만, 만약에 숫자의 범위가 주어져 있다면 좀더 좋은 방법이 있다.




위의 알고리즘은 N개의 배열에 숫자의 범위가 1~100 일때 사용할 수 있다.


간단한 예로 시험 점수중 가장 많이 받은 점수를 찾을 떄 쓸 수 있다.


위의 경우처럼 범위가 100까지라면 시간 복잡도는 이며 범위를 k라고 하면 가 


된다. 빅오는 이기 때문에 아래의 알고리즘이 더 좋다고 할 수 있다.




반응형