본문 바로가기

Algorithm Problems/정렬

(7)
[백준/C++] 11651번: 좌표 정렬하기 2 문제https://www.acmicpc.net/problem/11651문제 요약2차원 평면의 점 n개가 주어졌을 때, 정렬하여 출력한다.  1. y좌표가 증가하는 순서로 정렬한다.2. y좌표가 같다면 x좌표가 증가하는 순서로 정렬한다.코드#include #include #include #include using namespace std;int n;vector> arr;// 정렬 조건bool compare(tuple a, tuple b) { if (get(a) == get(b)) { return get(a) (b); } return get(a) (b);}int main() { // 입력 cin >> n; for (int i = 0; i > x >> y; arr.push_back({ x,y }); } /..
[백준/C++] 10814번: 나이순 정렬 문제https://www.acmicpc.net/problem/10814문제 요약n명의 온라인 저지에 가입한 사람들의 나이와 이름이 순서대로 주어진다. 회원들의 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에  오는 순서로 정렬하여 출력한다.코드#include #include #include #include #include using namespace std;int n;vector> arr;// 정렬 조건을 정의하는 함수bool compare(tuple a, tuple b) { if (get(a) == get(b)){ return get(a) (b); } return get(a) (b);}int main() { cin >> n; // 정보 입력 for (int i = 0; i > age..
[백준/C++] 10989번: 수 정렬하기 3 문제https://www.acmicpc.net/problem/10989문제 요약N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하여 출력한다. 수의 개수는 1이상 10,000,000이하이다.수는 10,000보다 작거나 같은 자연수이다.코드#include #define MAX 10000using namespace std;int n;int input[MAX + 1]; // input[i] : i 등장 횟수int main() { // 입출력 시간 단축 ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> n; // 입력받은 수가 몇번 등장했는지 체크 for (int i = 0; i > num; input[num]++; } // 1 ~..
[백준/C++] 11650번: 좌표 정렬하기 문제 https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 문제 요약 2차원 평면 위의 점 N개가 주어졌을 때, x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순으로 정렬하고 점을 순서대로 출력한다. 코드 #include #include #include using namespace std; int n; priority_queue q; int main() { cin >> n; for ..
[백준/Python] 1302번: 베스트셀러 문제 https://www.acmicpc.net/problem/1302 1302번: 베스트셀러 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고 www.acmicpc.net 문제 요약 오늘 팔린 책의 제목을 팔린 만큼 입력 받고, 가장 많이 팔린 책의 제목을 출력한다. + 가장 많이 팔린 책이 여러 개일 경우에는 사전 순으로 가장 앞서는 제목을 출력한다. 코드 N = int(input()) dic = {} # 딕셔너리의 Key값에 제목, Value값에 팔린 개수 저장 for _ in range(N): book = input() if book in dic...
[백준/python] 8979번: 올림픽 문제 https://www.acmicpc.net/problem/8979 8979번: 올림픽 입력의 첫 줄은 국가의 수 N(1 ≤ N ≤ 1,000)과 등수를 알고 싶은 국가 K(1 ≤ K ≤ N)가 빈칸을 사이에 두고 주어진다. 각 국가는 1부터 N 사이의 정수로 표현된다. 이후 N개의 각 줄에는 차례대로 각 www.acmicpc.net 문제 요약 N개 나라의 번호, 금메달 수, 은메달 수, 동메달 수를 입력받고 국가 K의 등수를 출력한다. 등수를 결정하는 규칙은 1. 금메달 수가 더 많은 나라 2. 금메달 수가 같으면, 은메달 수가 더 많은 나라 3. 금, 은메달 수가 모두 같으면 동메달 수가 더 많은 나라 만약 두 나라의 금, 은, 동메달의 수가 모두 같다면 두 나라는 등수가 같다. 또, 예를 들어 ..