| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- solved class 2
- 유니티서바이벌게임만들기
- c#
- 유니티공부
- c#기본문법
- Unity
- 바킹독
- c++ 백준
- 티스토리챌린지
- 백준 c++ 공부
- 유니티게임만들기
- 백준 C++
- c#코딩기초트레이닝
- 백준코테
- C#문법
- 리그오브레전드턴제게임
- 백준 구현문제
- 백준
- 유니티
- unity게임
- 바킹독알고리즘
- c#코테
- unity게임만들기
- 오블완
- 백준코딩테스트
- C++
- c++ solved.ac
- c#기초문법
- unity3dservival
- unity3d게임만들기
- Today
- Total
나 개발자 진짜 되냐?
코딩테스트 입문 - 가장 큰 수 찾기 ( max_element ) 본문

'
"강산 맑은 것이 꼭 나와 닮았구나"
"달빛 고요한 것이 꼭 나와 닮았구나"
꼭 나처럼 맑고 고요하구나
요즘 듣고 있는 노래다.
사실 고요한 편은 아닌데..
맑다는 말은 많이 들어서 그런지
단어가 확 와닿는다.
좋다.

사실 제일 먼저 떠오른 건 map이었다.
map으로 값과 인덱스를 저장할 계획이었다.
근데 map을 어떻게 쓰는 건지 잠시 잊어버려서..ㅋㅋ
결국 인지 씨를 찾았다.
map보다 더 쉬운 게 있는데 이걸로 할 거야?
라고 물어서..
엇..
일단 풀어보겠다고 했다.
map <int, int> m으로 선언하고
for문으로 돌면서
한 개씩 map에 넣을 계획이었다.
map은 이름표가 붙은 사물함이다.
map에 물건을 넣을 땐
m [이름표] = 내용물;
이렇게 넣는다.
이름표가 1 first이고
내용물이 2 second이다.
예시 1로는
m [1] = 0;
m [8] = 1;
m [3] = 2;
로 저장된다.
map으로 저장하면 오름차순이어서
내림차순으로 바꾸려면
m.rbegin(); 해줘야 한다.
또한!!
m.rbegin()은 주소값을 반환하기 때문에
새 변수에 넣어줘야 한다.
auto it = m.rbegin(); 해줘야 한다.
여기서 auto를 쓰는 이유는..
auto를 안 쓰면
map <int, int>::reverse_iterator
을 풀로 다 써야 하기 때문에..
auto로 통일한다.
그리고 그 값을 answer에 넣으려면
answer.push_back( it->first )
answer.push_back( it->second )
map의 첫 번째 값은
it->first로 써야 하고
두 번째 값은
it->second로 써야 한다.
왜냐면 주소여서..!!!
자
그럼 인지 씨가 말하던 답은 뭐였을까?!
max_element
"제일 큰 수를 찾아주는 정찰병"
배열 또는 벡터를 시작부터 끝까지 쭉 훑고
가장 큰 숫자가 있는 곳을 돌려주는 함수
include <algorithm>을 써줘야 하고
사용은
auto it = max_element(array.begin(), array.end());
라고 해줘야 한다.
처음부터 끝까지 중에 가장 큰 숫자의 위치를
it에 넣어주세요!
그다음에 it을 구했으니 answer에 넣어야 하는데,
넣을 땐
숫자와 인덱스를 넣어줘야 한다.
숫자는
*it라고 해서 가리키는 곳의 내용을 나타낸다.
그러면 인덱스는?
가장 큰 숫자가 있는 위치에서 배열의 맨 처음을 빼면 된다.
처음 위치부터 몇 칸 떨어져 있나?
그래서 it - array.begin(); 해주면 된다.


.
.. 어려웠는데 1점이라니..
max_element에 대해 배웠다.
이터레이터인것을 잊지 말자!
'프로그래머스를 풀어보아요! > C++' 카테고리의 다른 글
| 코딩테스트 입문 - 제곱수 판별하기 ( sqrt ) (0) | 2026.05.13 |
|---|---|
| 코딩테스트 입문 - OX퀴즈 ( stringstream ) (0) | 2026.05.12 |
| 코딩테스트 입문 - 대문자와 소문자 ( upper, lower / to, is ) (2) | 2026.05.08 |
| 코딩테스트 입문 - 가까운 수 ( abs ) (0) | 2026.05.07 |
| 코딩테스트 입문 - 컨트롤 제트( while ) (0) | 2026.05.06 |
