본문 바로가기

정렬20

[백준 11399/c++] ATM 총 시간이 최소일때의 시간이 되려면 앞에는 작은 수를, 뒤로 갈수록 큰수를 두어 오름차순 정렬시키면 된다 주어진 시간들을 배열이나 벡터에 넣고(배열이 더 빠르다) sort 로 오름차순 정렬 후 for 문으로 개수를 추가해 돌면서 누적 합을 구해주면 되는 문제였다 https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net #include using namespace std; int main(){ int n; int num; int sum = 0; int ar[1004]; cin >> n.. 2022. 7. 29.
[백준 5635/c++] 생일 sort 함수의 정렬을 이해하여 pair 로 짝지어 정렬 우선순위를 적용시켜 뽑아내는 문제이다 https://www.acmicpc.net/problem/5635 5635번: 생일 어떤 반에 있는 학생들의 생일이 주어졌을 때, 가장 나이가 적은 사람과 가장 많은 사람을 구하는 프로그램을 작성하시오. www.acmicpc.net #include using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n; vector v(n); for (int i = 0; i > v[i].second.second >> v[i].second.first >> v[i].first.sec.. 2022. 7. 20.
[백준 1302/c++] 베스트셀러 map을 사용하여 string 마다 카운트 해준뒤 (unordered_map 도 가능하다) 맵을 벡터에 페어로 넣어서 벡터를 요소(페어)의 second 값으로 내림차순 정렬하고 second 값이 같으면 first 값으로 오름차순 정렬하는 사용자 정의 함수를 만들어주면 되는 문제이다 map 을 벡터로 넣는 방법은 https://unluckyjung.github.io/cpp/2020/05/07/Sort_map_by_value/ 이 분의 블로그 글이 잘 정리되어 있어 첨부한다 ↑ 위의 const pair& a 의 부분은 그냥 pair a 로 간단하게 해도 문제없이 작동한다 https://www.acmicpc.net/problem/1302 1302번: 베스트셀러 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 .. 2022. 7. 8.
[백준 1764/c++] 듣보잡 입력에서 말이 헷갈릴수 있지만 n+m개의 입력을 받고 오름차순 정렬 후, 인접 요소를 비교해 중복을 제거하여 출력하라는 문제였다 https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net #include using namespace std; int main(){ ios_base::sync_with_stdio(false); int n, m, t; int cnt=0; string s; vector v, ans; cin >> n >> m; for(int i=.. 2022. 7. 5.