본문 바로가기

C++ 코딩 정리6

[C++ STL] sort 를 통해 정렬해보자. WHAT? SORT C++ STL에 있는 sort는 sort(start, end) 와 같이 간단한 코드로 정렬을 할 수있게 해준다. 퀵 정렬을 기반으로 이루고 있어, 평균 시간복잡도 또한 nlogn으로 빠른 정렬 속도를 보여주고 있다. 우리는 코딩 문제를 풀면서 정렬 하는 문제를 최소한 하나 정도는 만났을 것이다. 실제 대회에서 정렬 하는 함수 구현하는 것은 시간면에서도 매우 불리한 상황이 될 수있으니, 이번 시간을 통해 c++ stl 에서 제공하는 sort를 제대로 배워보자. 기본적인 sort 구문은 오름차순으로 정렬하니, 참고하기 바란다. HOW? USE! STL에서 제공하는 만큼 대체적으로 사용하기 쉽다. sort(start, end); 이거면 끝이다. 나는 지금부터 두 가지 경우에서 사용하는 방법.. 2020. 3. 26.
[C++ STL] Pair를 중첩해서 사용해보자. 먼저, pair를 처음 접해본다면 옆에 링크를 보고 오길 바란다. ( 참고 : https://far-simple.tistory.com/24 ) 사용법 선언 : pair 이름 저장 : 이름 = make_pair(값, make_pair(값, 값)); 출력 : cout 2020. 3. 24.
[C++ STL] Pair를 사용해보자 ( 구조체 안쓰고 두 자료형을 묶어보자! ) Pair(페어) 란? 간단히 말해 두 자료형을 묶어주는 클래스이다. 언제 USE? 보통 두개 이상의 자료형을 묶을 때 구조체를 사용하는 데 , 묶을 자료형이 많이 없을 때 간단하게 pair로 묶어주면 편해 사용한다. 예시 예를 들어 이름에다가 번호를 붙여준다고 가정해보자. 1번은 Kames 2번은 James 3번은 Bames 위 이름을 알파벳으로 정렬한다고 생각해보자. 정렬이 되면 Bames, James, Kames 순으로 될 것이다. 여기서 문제는 정렬이 되면 정렬하기 전 해당 번호를 못 찾게 된다는 것이다. 이때 Pair를 쓰는 것이다. 처음에 이름을 받을 때 이름과 번호를 pair로 묶어주면 그 후 알파벳으로 정렬 하게돼도 그 전 번호를 찾을 수 있을 것이다. HOW? 헤더파일 : utility.h.. 2020. 3. 24.
[C++ STL] pair 에서 make_pair 대체 문제 c++ 문제 풀 때 구조체 쓰기 귀찮고 인자를 묶고 싶을 때 보통 pair를 쓰곤 한다. 손이 편하면 머리가 힘들어지는 법, 외워야하는 게 더 늘어나기 마련이다. 그 중 하나가 pair에서 make_pair를 쓰는 것인데, 일단 make_pair 자체가 9자나 되고 한 소스 안에 pair를 이용한 코드들이 많이 들어있다면 손이 힘들어질 수있다.( 사실 억지긴 하다.) 그래서 make_pair을 안쓰고 pair에 값을 담아줄 수있는 코드를 찾아보게 되었다. 해결 우리는 c++ 11 이상부터 pair에 초기화 리스트를 사용할 수있다고 한다. 중요한 점은 c++ 11 버전이상부터 라는 점이다. ( 이걸 못보고 나중에 글쓴이를 욕하지 마라. ) 사용 법은 매우 간단하다. make_pair() 대신 {} 로.. 2020. 3. 22.