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

몇 달 만인가....
기초..... 코드 작성요령.. 파트.. 0x02 부분 마지막
최댓값이다.
너무 푼 지 오래되어.. 앞에 1번은 다시 기억이 가물가물 가물치이다.
이래서 강의는 언제 다 듣고
언제 다 풀래!!
문제를 더 많이 풀어봐야 하나? 싶다.

분명 최댓값.. 한 거 같긴 한데.. max 이런 거 들어갔던 거 같은데 기억이 안 난다.
날 리가 있나.

여기서 중요한 건
인덱스 이기 때문에
웬만해서는 int를 i부터 시작하는 게 좋다
안 그러면 마지막에 출력할 때 +1을 해줘야 한다..!!
새로운 stl 친구를 데려왔다
그 친구 이름은
max_element
배열, 벡터에 모두 사용이 가능한 친구
컨테이너 ( 배열, 벡터 ) 구간에서 최댓값을 찾아주는 함수!!
auto it = max_element(시작, 끝);
auto는 타입을 자동으로 추측해 주는 자료형
근데 이게 있으면 굳이 다른 걸 쓸 필요 있나
다 auto로 쓰면 되는 거 아닌가.. 싶기도 하고.. 여서 물어봤는데
안된단다..ㅋㅋ 뭐 가독성이 많이 떨어진다고 한다.
의도치 않는 버그도 생길 수도 있다고 한다.
같은 숫자여도 소수점이거나 막 9.0 이면 막 float인지 double인지 헷갈린다고 한다.
사실 9.0은 정수... 긴하지 않나? 흠....ㅋㅋㅋ
그렇다.
다시 돌아가서 시작과 끝을 써주면 되는데
배열의 경우 시작과 끝을
( arr, arr +N )
벡터의 경우
( v.begin(), v.end() )
max_element의 매우 큰 특징이 있는데
그것은 이 친구가
최댓값 그 자체를 주는 게 아니라
최댓값이 저장된 위치를 준다.
즉 그 값이 it*인 거!
그래서 윗 식처럼 계산하게 된다면
it에는 주소값이 나오게 된다 0x82ca.. 어쩌고
그래서 우리는 값이 필요하기 때문에 앞에
또 *별을 붙여줘야 한다.
그래서 별 두 개로 상쇄시켜야 한다..!!
그럼 값이 되겠지!

오케이 별을 붙이는 건 알겠어.
별을 붙임으로써 그 주소에 있는 값을 출력하는 거겠지
그렇다면 도대체 두 번째 줄에 -a를 빼는 이유는 뭘까??
max_element(a, a+9) 값이 최댓값 주소인데
거기서 -a를 빼면
인덱스 차이값이 나오게 된다는 것이다.
아니 a를 빼는데 어떻게 그런 거지? 나는 여기서 이해를 못 했다.
a가 뭐길래?
했는데 배열이름 a라는 이름은
배열의 첫 번째 칸 주소를 의미한다고 한다.
a는 사실상 주소 역할인 것.
그래서 두 번째 max_element 값이 최댓값의 주소니까
거기에서 a를 빼주면 그 차이 값이 나오고
0부터 시작했으니+1 해주면 된다.
와.. 포인터 c#에서는 잘 본 적도 없는 게 나와가지고 굉장히 머리 아프게 한다.
포인터.. 절망적이네...
그래도 벡터로 가면 포인터 쓸 일이 조금 줄어든다고 하긴 하는데..
이 max_element는 애초에 반환이 이터레이터 ( 주소 ) 이므로 *이 필요하다고 한다.
어렵다 어려워.
이렇게..
마지막에 맛없는 포인터까지 살짝 맛보고.. 끝냈다.
맛이 정말 없어서 안 먹고 싶은데..
앞으로 계속 나오겠지
STL은 앞으로 하나씩 익혀야겠다.
참 어렵다.
그냥 어렵다 이 말 밖엔
그래도 몇 달 동안이 거 스물일곱 문제 푸느라 ㅋㅋㅋㅋ
고생했다
고생한 건가? 고생한 거 아닌가? 잘 모르겠지만
다음 파트에서 보자!!

'C++을 시작해봐요! > 알고리즘을 공부해봐요!' 카테고리의 다른 글
| 바킹독 0x03 문제2 - 숫자의 개수 / 백준 2577번 (0) | 2025.09.17 |
|---|---|
| 바킹독 0x03 문제1 - 알파벳 개수 / 백준 10808번 (2) | 2025.09.16 |
| 바킹독 0x02 문제26 - 별찍기 9 / 백준 2446번 (0) | 2025.09.03 |
| 바킹독 0x02 문제25 - 별찍기 8 / 백준 2445번 (1) | 2025.08.27 |
| 바킹독 0x02 문제24 - 별찍기 7 / 백준 2444번 (1) | 2025.08.25 |