본문 바로가기

정렬2

[백준/C,C++] 18870번: 좌표 압축 www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net 풀이 입력된 수열을 오름차순으로 정렬한 후, 압축합니다. 압축할 땐, 넘버링에 쓰일 변수를 유지하며 다음의 원소가 현재 원소보다 크다면 넘버링을 하고 1을 증가 시켜 주고, 아니라면 그대로 유지합니다. 다시 인덱스대로 정렬해야 하기때문에, 초기 입력받을 때 Pair(인덱스, 값)의 형태로 입력받고 값을 기준으로 오름차순 정렬하고 넘버링을 한 후에 다시 인덱스를 .. 2021. 4. 21.
[백준/C,C++] 10610번: 30 www.acmicpc.net/problem/10610 10610번: 30 어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한 www.acmicpc.net 풀이 30의 배수는 끝자리가 0으로 끝남과 동시에 3의 배수여야 합니다. 즉 입력된 수의 각 자릿수에 0이 하나라도 존재해야 하고, 각 자릿수를 모두 더한 합이 3의 배수여야 합니다. 두 조건을 충족한다면 입력된 수의 각 자릿수를 큰 숫자부터 출력해주면 됩니다. #include using namespace std; int main(void) { int cnt[10] = { 0, }; string s; cin >>.. 2021. 4. 20.