나 개발자 진짜 되냐?

코딩테스트 입문 - 최빈값 구하기 ( 브루트포스 ) 본문

프로그래머스를 풀어보아요!/C++

코딩테스트 입문 - 최빈값 구하기 ( 브루트포스 )

Snow Rabbit 2026. 4. 22. 01:56

 

누가 입문이 쉽다고 했는가!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

ha.....

아님 내가 아직 수학 쪽 부분을 많이 익히질 못한 걸까..

 

씁쓸한 마음을 안고..

출발쓰..


 

사실 처음엔 쉬울 줄 알았다.

 

먼저 새로운 배열,

숫자들의 개수를 담을 배열을 하나 만들고

...

여기까진 좋은데

 

최빈값이 두개일때가 어지럽다.

 

 

근데.. 두 개 있을 때 두 개 있다는 사실을 어떻게 해야 하는 거지?

 

 

또 for문으로 개수를 찾아줘야 하는 건가?

너무 비효율적일 거 같았다.

 

 

코드를 작성하다가

신박한 아이디어가 떠올랐다.

예시에서 

123334인데

최빈값으로 보면

1 1 3 1이다

이러면 그냥

sort 내림차순으로 정렬하고

맨 끝의 값과 그전 끝의 값이 같으면

-1

아니면 맨 끝값을 출력하면 될 거 같았다.

캬...

 

일단 만들어봤다.

 

내림차순을 쓸 땐

greater <자료형>()

sort (앞숫자, 뒷숫자, greater <int>())

 

 

아이디어는 참 좋지 않았나??

 

알았어요..

 

뭘 실수한 거지?

실수를 알 수 있는 좋은 선생이 있지

인지선생

 

인지선생은

지금 최빈값을 출력하고 있다고 말한다.

그러네.. 최빈값이 뭔지 알아야 할 것이다.

 

 

최빈값을 담을 그릇 gao를 만들었다.

 

근데 안된다.

 

 

여전히..

 

생각해 보니 gao에 array [i]를 넣었으니..

숫자 비교가 안된다.

변수가 두 개 필요한 셈이다.

 

최빈값 자체를 담아둘 변수

최빈값의 숫자를 담아둘 변수

 

 

후..... 풀었다.

 

.... 악!!!!!!!!!!!!

나빠!!!!!

 


 

풀리긴 했으나,

어떻게 푸는 게 가장 좋았을까?

sort 보단 그냥 for문으로 돌리라고 하는 인지 씨,

그리고 사람들이 푼 걸 보니 unordered_map <int, int>로 풀어서

값, 횟수

를 넣은 거 같다

 

여기서는 애초에 함수를 통해서 매개변수로 전달하기 때문에

백터가 올 때 for문을 size로 하지 말고

auto a : array로 해야겠다.

 

 

다른 사람은 이렇게 풀었다.

일리 있다.

 

어렵다.

ㅋㅋㅋ8도 어렵다..

이게 어찌 레벨 0인가요..

기만이다.

사고다.

어떡하냐!!!