c++으로 알고리즘 문제를 풀때 내가 선언한 bool 반환 함수등을 만들어 사용할때, c#에서 프로그램을 만들때는 함수의 선언이 사용되는 곳 위든 아래든 어디에든 작성되있으면 상관이 없었는데, c++은 main에 사용되는 함수를 main밑에다가 작성해놓으니
이런식으로 선언되지 않았다고 프로그램이 정상작동 되지 않았다.
c++에서는 미리 선언하고 main을 나중에 쓰도록 하자.
+++++++++++++++++++++++++++++++++++++++++
https://cocoon1787.tistory.com/189
[C/C++] STL sort 정렬 함수 (오름차순, 내림차순) 예제코드
알고리즘 문제 풀 때 배열이나 벡터를 내림차순으로 정렬해야 하는데 매번 까먹어서 검색을 해왔는데, 블로그로 정리해두면 기억에 오래 남을 것 같아서 포스팅하게 되었습니다. sort 함수를 사
cocoon1787.tistory.com
c++ sort가 기본적으로 오름차순 정렬인데, 내림차순 정렬이 필요할때가 있을것이고, 그럴때 저번에 정리를 해둔것 같은데 찾지를 못해서 다시 검색해서 관련된 정보가 잘 모아져있는 블로그를 확인해보고 내용을 첨부한다
sort(arr,arr+n,greater<type>()) 형태라는걸 인지하고 다음에도 써먹도록 하자.
+++++++++++++++++++++++++++++++++++++++++++++
next+permutation 을 활용해서 순열을 출력할때, 주로 do while 형태로 사용되는건 알겠는데, 맨 마지막까지 진행한 후에,
모든 과정을 거치고 for문으로 컨테이너의 각각의 항들을 찍어보면 다시 1,2,3 형태로 바뀌어 있어서 궁금해서
따로 3 2 1 일때를 찍어보니까, 1 2 3 형태로 바뀌어 있었다.
이런식으로 코드를 작성하고 돌려보니 알 수 있는 것은, next_permutation의 경우는 사전식 배열의 끝에 도달했을때 다시 처음으로 배열해버리고, 그럴 경우 false를 반환한다고 생각하면 될듯 하다.
이렇게 되면 while문 맨 마지막에서 false를 반환하고, 어떤 식에서 내가 원하던 결과를 도출한건지 알수 없었던 상황이 이해가 된다.
next_permutation은 하나 다음으로 변환시켜버리고 그리고 다음이 더 가능하냐 안하냐에 따라서 true or false를 반환한다고 기억하도록 하자. 사전식 배열의 맨 마지막에 도달하면 다음은 사전식 배열상 없으니까, 마지막 형태니까 false를 반환한다고 기억하도록 하자.
'크래프톤 정글' 카테고리의 다른 글
TIL 23.4.15// 스택 관련 문제들을 집중적으로 본 하루. (0) | 2023.04.15 |
---|---|
TIL 23.4.13// gpt 친구가 일을 아주 잘하는구나. vector에 대하여. (0) | 2023.04.13 |
TIL// 23.4.10 배운점들 모음 (0) | 2023.04.10 |
TIL 23.4.9// 함수를 만들어서 사용하면 제어형태를 더 쉽게 조절할 수 있다. (0) | 2023.04.09 |
TIL 23.4.8/ 알고리즘 문제 해결시 오늘 새롭게 배운 내용에 대한 정리. (0) | 2023.04.08 |