Pair 란?
- 두 객체를 하나로 묶어주는 클래스이다. (좌표 등을 표현하기에 적절하다.)
- <utility> 헤더에 존재한다.
Pair의 기본 사용 방법
선언
pair <[data type 1], [data type 2]> p;
- 묶어줄 두 값의 데이터 타입을 넣어주고, 변수 명을 지정한다.
입력, 값 할당
cin >> x >> y;
p = make_pair(x, y);
make_pair(변수1, 변수2): 변수1, 변수2를 묶어준다(pair를 만들어준다).
- pair로 만든 변수에는 값을 바로 입력받을 수 없다.
그래서 두 변수에 입력받고 난 후에 묶어주어야 한다.
출력
cout << p.first << ' ' << p.second;
p.first: p의 첫번째 인자를 반환
p.second: p의 두번째 인자를 반환
pair 연습에 좋은 문제들
> 좌표 정렬하기
11650번: 좌표 정렬하기
첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.
www.acmicpc.net
> 좌표 정렬하기 2
11651번: 좌표 정렬하기 2
첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.
www.acmicpc.net
> 나이순 정렬
10814번: 나이순 정렬
온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 �
www.acmicpc.net
'알고리즘 > 개념' 카테고리의 다른 글
알고리즘의 시간복잡도 (0) | 2020.09.16 |
---|---|
C++ 알고리즘 실행시간 줄이기 (0) | 2020.08.22 |
문자열 정렬 (0) | 2020.08.11 |
문자열 총정리 <C++>: char, string, #include <cstring>, #include <string>, getline, 문자열 (0) | 2020.07.12 |
큐(queue), 스택(stack) 명령어 정리와 연습문제 (0) | 2020.05.17 |
댓글