| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- unity3d게임만들기
- c++ 백준
- 백준코테
- unity3dservival
- 바킹독알고리즘
- C#문법
- 리그오브레전드턴제게임
- c#기본문법
- c#기초문법
- C++
- c#코딩기초트레이닝
- c#
- 유니티
- unity게임
- c#코테
- 유니티서바이벌게임만들기
- 유니티게임만들기
- 백준
- solved class 2
- 티스토리챌린지
- Unity
- 바킹독
- 백준 c++ 공부
- 오블완
- 백준 구현문제
- 백준코딩테스트
- c++ solved.ac
- unity게임만들기
- 유니티공부
- 백준 C++
- Today
- Total
나 개발자 진짜 되냐?
백준 C++ 2108번 통계학 ( 정렬 ) 본문

백준에 이제 정좀 붙였는데
아쉽습니다.
class2 마지막 문제입니다.
통계학..
이름만 들어도 손이 떨리는군요.
하지만 마지막이라고 생각하고 문제를 풀어보겠습니다.



까다롭습니다.
세번째줄이 까다롭습니다.
일단 pair가 이번에도 필요할 거 같다.
(숫자, 개수) 이렇게 넣을 통 하나 만들어줘 보자.
차피 개수니까 카운트만 해주면 되어서
며칠 전에 풀었던 map 문법을 읽고 다시 풀어보기로 했다.
map과 unordered_ map의 차이는
map은 정렬하는데 시간은 좀 걸리지만,
맨 끝부터 맨 앞까지 검토가 가능하다고 해서
map으로 풀어보았다.
음..
세 번째에서 문제가 발생했다.
최빈값 중에서 두 번째로 작은 값..?!
그걸 어찌 알지요..
처음에는 벡터에 넣어서 sort 이렇게 하려고 했는데..
map도 뭔가 아는 게 부족하고..
무슨 방법이 좋을까...
인지 씨를 찾았다.

헉.. 제가 생각한 게 맞았다고요..?!

하지만 뭔가 저 최빈값에서 매우 아주 큰 오류가 발생한다.
인지 씨를 찾았다.
이렇게 하면
새롭게 갱신되는 숫자들이 반영된다는 것..!
그렇군..

수정해 봤다.
하지만 결국 이것도 갱신되는 숫자가 다 들어가게 된다..

그래서 for문을 두 개 만들었다.
그리고 sort에서 중요했던 게
greater을 넣어서 나는 내림차순으로 만들라 했는데
이게 두 번째로 작은 값이다 보니
그냥 오름차순으로 해야 한다..ㅎ

자잔..!!
마지막에 중요한 건
들어온 숫자가
1 1 1 1 이면
1이 4개 들어온 거라 최빈값은 맞지만
1 하나만 들어가게 된다
그럼 da_v는 0 한 개 밖에 없는데 두 번째 값을 출력할 수 없으니
예외를 붙여줘야 한다.
그리고 처음과 끝은
v.back과 v.front이다.
end와 begin은 주소값을 가져오는 친구여서
이렇게 쓰면 size가 된다고 한다.
이렇게 class 2 마지막 문제를 풀었다.
100 퍼를 채워서 뿌듯하다.

다음 주부터..
코테 유목민이 되어버린다....
어디로 가야 하오..
'C++을 시작해봐요! > 단계문제를 풀어보아요!' 카테고리의 다른 글
| 백준 C++ 9012번 괄호 ( stack ) (0) | 2026.04.17 |
|---|---|
| 백준 C++ 1966번 프린터 큐 ( 우선순위 큐, 큐 ) (0) | 2026.04.16 |
| 백준 C++ 10814번 나이순 정렬 ( stable_sort ) (1) | 2026.04.16 |
| 백준 C++ 1929번 소수 구하기 ( 에라토스테네스의 체 ) (1) | 2026.04.15 |
| 백준 C++ 1018번 체스판 다시 칠하기 ( 2차원 배열, for ) (0) | 2026.04.14 |
