PS/정렬 알고리즘[Sort] 18

백준 20291 파일 정리(c++)

https://www.acmicpc.net/problem/20291 20291번: 파일 정리 친구로부터 노트북을 중고로 산 스브러스는 노트북을 켜자마자 경악할 수밖에 없었다. 바탕화면에 온갖 파일들이 정리도 안 된 채 가득했기 때문이다. 그리고 화면의 구석에서 친구의 메시지를 www.acmicpc.net #include #include #include #include using namespace std; int main() { int n; cin>>n; string str; mapm; while(n--) { cin>>str; string ans=""; for(int i=0;i

백준 1374 강의실(c++)

https://www.acmicpc.net/problem/1374 1374번: 강의실 첫째 줄에 강의의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 줄마다 세 개의 정수가 주어지는데, 순서대로 강의 번호, 강의 시작 시간, 강의 종료 시간을 의미한다. 강의 www.acmicpc.net #include #include #include #include using namespace std; priority_queuelectures; priority_queuerooms; int main() { int n; cin>>n; int number, starttime,endtime; for(int i=0;i>number>>starttime>>endtime; lectures.pus..

백준 5635 생일(c++)

https://www.acmicpc.net/problem/5635 5635번: 생일 어떤 반에 있는 학생들의 생일이 주어졌을 때, 가장 나이가 적은 사람과 가장 많은 사람을 구하는 프로그램을 작성하시오. www.acmicpc.net #include #include #include #include #include #include using namespace std; bool cmp(tuple&v1,tuple&v2) { if(get(v1)==get(v2)) { if(get(v1)==get(v2)) return get(v1)>get(v2); else return get(v1)>get(v2); } else return get(v1)>get(v2); } int main() { int n; cin>>n; vecto..

백준 10989 수 정렬하기 3(c++)

https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n; cin>>n; vectorcount(10001); for(int i=0;i>num; count[num-1]++; } for(int i=0;i

백준 2075 N번째 큰 수

https://www.acmicpc.net/problem/2075 2075번: N번째 큰 수 첫째 줄에 N(1 ≤ N ≤ 1,500)이 주어진다. 다음 N개의 줄에는 각 줄마다 N개의 수가 주어진다. 표에 적힌 수는 -10억보다 크거나 같고, 10억보다 작거나 같은 정수이다. www.acmicpc.net #include #include using namespace std; int main() { int n; cin>>n; priority_queuepq; for(int i=0;inum; pq.push(num); } } int cnt=1; for(int i=0;i

백준 10867 중복 빼고 정렬하기(c++)

https://www.acmicpc.net/problem/10867 10867번: 중복 빼고 정렬하기 첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. www.acmicpc.net #include #include using namespace std; sets; set::iterator it; int main() { int n; cin>>n; for(int i=0;i>num; s.insert(num); } for(auto it = s.begin();it!=s.end();it++) { cout

백준 10814 나이순 정렬(c++)

https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net #include #include #include #include #include #include using namespace std; bool com(tuple&v1,tuple&v2) { if(get(v1)==get(v2)){ return get(v1)n; for(int i=0;i>num>>str; v.push_back(make_tuple(num,str,i)); } sort(v.begin(),v.end..

백준 1251 단어 나누기

https://www.acmicpc.net/problem/1251 1251번: 단어 나누기 알파벳 소문자로 이루어진 단어를 가지고 아래와 같은 과정을 해 보려고 한다. 먼저 단어에서 임의의 두 부분을 골라서 단어를 쪼갠다. 즉, 주어진 단어를 세 개의 더 작은 단어로 나누는 것이다 www.acmicpc.net #include #include #include using namespace std; int main() { string str; string ans = ""; cin>>str; for(int i=1;i