sort 4

[백준 1946] 신입 사원

문제설명 알고리즘 1. 입력 값 저장 2. 서류 점수 기준으로 오름차순 정렬 3. 서류 1등의 면접 점수를 기준으로 다음 사람들의 면접 점수를 조회해 더 높은 값이 나올때 마다 합격, 및 업데이트 코드 #include #include #include using namespace std; vector grade; int main() { int T, N; cin >> T; while (T) { cin >> N; for (int i = 0; i > x >> y; grade.push_back({x,y}); } sort(grade.begin(), grade.end()); //서류 기준 오름차순 정렬 int cnt = 1;// 1등은 합격 int inte..

Algorithm 2022.06.30

[백준 18870] 좌표 압축

좌표 압축 문제설명 좌표 압축의 개념을 사용하여 주어진 좌표를 압축한 결과를 출력한다. 예제를 보고 좌표 압축의 개념에 대해서 설명하도록 하겠다. 먼저 5개의 수를 입력받고, 좌표 값을 입력 받는다. 첫번째 예제의 경우 크기순으로 나타낸다고 보면 된다. -10이 값이 제일 작기때문에 0번째 인덱스, -9는 1 이런식의 값을 가지게 된다. 다만 유의해야할 점은 중복 된 값이 들어올 수 있다는 점이다. 2번째 예제의 경우 좌표의 값이 중복 되는 케이스이다. 999, 1000이 중복되어 나오는데 이 역시도 포함해서 결과가 나오는 것을 확인할 수 있다. 알고리즘 총 좌표의 수 값을 입력 받는다. list에 좌표 값을 입력 받는다. set(집합)개념을 사용하여 중복좌표 값을 제거하고, 오름차순으로 정렬한다. di..

Algorithm 2021.07.30

[백준 11399] ATM

ATM 문제설명 사람의 수를 입력받고, 사람당 걸리는 시간을 입력 받는다. 사람들이 돈을 인출하는데, 최소한의 시간 합을 구해서 출력시켜라. 알고리즘 사람의 수와 각 사람당 걸리는 시간을 입력 받는다. 걸리는 시간을 오름차순으로 정렬한다. 반복문을 사용해서 각 사람이 걸리는 시간을 더해주고, 이전 사람이 걸렸던 시간까지 누적해서 더한다. 결과를 출력한다. #include #include #include #include #include #include using namespace std; int main(void) { ios::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL); int N; cin >> N; // 사람수 입력 vector v; while (N) { i..

Algorithm 2021.07.29

[백준 11659] 좌표 정렬하기

좌표 정렬하기 문제설명 2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오. 알고리즘 테스트 케이스 수를 입력 받고 수만큼 반복하여 2차원 좌표를 입력 받는다. algorithm 헤더의 sort 함수를 사용하여 정렬한다. #include #include #include #include #include using namespace std; bool comp(const pair & a, const pair&b) { if (a.first == b.first) return a.second < b.second; return a.first < b.first; } int main() { int num = 0; c..

Algorithm 2021.07.28