2023. 5. 15. 10:25, 알고리즘/BOJ
max_element();의 경우는 반환값이 iterator이기 때문에 이걸 사용해서 값을 알고자 한다면 *을 붙여주어서 코드를 작성해야한다
*max_element();형태로 사용해야 값을 구할 수 있다. iterator를 반환한다는걸 명심하도록 하자.
max(); 는 값을 반환한다. 이건 *을 붙일 필요가 없이 바로 사용하면 된다.
둘다 max값을 구하는데 있어서 사용할 수 있는 stl 함수이지만, 명확하게 차이점을 인지하고 사용하도록 하자.
max_element는 주소값을 반환, 값을 알고싶으면 *을 붙여서 사용할것
max()는 값을 반환. 값을 알고싶으면 그냥 바로 사용하면 된다.

이와 관련하여서 강의를 보고 있는데 영상에서,
/*
max_element를 이용해 전체 배열에서 가장 큰 원소가 들어있는 인덱스를 알고 싶으면,
k=max_element(arr,arr+n)-arr라고 둬서 구할 수 있어요.
*/
라는 부분이 있다. 이것도 유용하게 사용할 수 있는 성질일것 같다.
몇번째인가 를 알고싶다면 이렇게 사용할 수 있는 것이다.
주소값 자체를 의미하는게 아니라 '몇번째 인덱스' 인가를 알고싶을때 사용하면 된다.
'알고리즘 > BOJ' 카테고리의 다른 글
| sort에서 stable sort에 관하여. (0) | 2023.05.16 |
|---|---|
| c++ swap 함수를 사용해서 서로의 값 교환하기 . (0) | 2023.05.15 |
| c++ 알고리즘을 풀때 찾은 줄 번호로 바로 이동하는 단축키. 매우 유용할듯. (0) | 2023.05.14 |
| boj 10942 팰린드롬? 을 통해 검색해본 팰린드롬. (0) | 2023.05.12 |
| boj 9251번 LCS// 이해가 가도록 도움을 줄 참고 자료가 있는 블로그들 모음. (0) | 2023.05.09 |
Comments, Trackbacks
