본문 바로가기

정렬8

[C++][프로그래머스] 가장 큰 수 :: seoftware 문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. 소스코드 #include #include #inclu.. 2020. 4. 25.
[C++][백준] 11004번 K번째 수 :: soeftware 소스코드 정렬 sort #include #include #include using namespace std; bool compare(int x, int y) { return x < y; } int main(void) { int N, K; scanf("%d %d", &N, &K); vector v(N, 0); for (int i = 0; i < N; i++) { scanf("%d", &v[i]); } sort(v.begin(), v.end(), compare); printf("%d\n", v[K-1]); } 2020. 4. 13.
[C++] 백준 1920번 수 찾기 :: seoftware 문제 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1≤N≤100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1≤M≤100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들이 A안에 존재하는지 알아내면 된다. 모든 정수의 범위는 -231 보다 크거나 같고 231보다 작다. www.acmicpc.net 소스코드 #include #include using namespace std; int arrA[100000]; int arrB[100000]; int result[100000]; int main(void) { //input int N, M; scanf("%d".. 2020. 3. 28.
[C++] 백준 1181번 단어 정렬 :: seoftware 문제 https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1≤N≤20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 소스코드 #include #include #include #include using namespace std; bool compare(string x, string y) { if (x.length() == y.length()) { return x >.. 2020. 3. 13.
[C++] 백준 10814번 나이순 정렬 :: seoftware 문제 https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 작성하시오. www.acmicpc.net 소스코드 #include #include #include #include using namespace std; bool compare(pair a, pair b) { if (a.first > N; vector members(N); for (int i = .. 2020. 3. 13.
[C++] 백준 2751번 수 정렬하기 2 :: seoftware 문제 https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 소스코드 #include #include using namespace std; int arr[1000000]; int main(void) { int N; scanf_s("%d", &N); for (int i = 0; i < N; i++) { scanf_s("%d", &arr[i]); } sort(arr, arr + N); for (int i = 0; i < N; i++) { pr.. 2020. 3. 6.
[C++][백준 1026 ][정렬] 보물 :: seoftware 문제 https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거나 같은 음이 아닌 정수이다. www.acmicpc.net 소스코드 #include #include #include using namespace std; int main(void) { //input int n; cin >> n; vector A; vector B; for (int i = 0; i > a; A.push_back(a); } for (int i = 0; i < .. 2020. 2. 29.
[C++][백준 1427][정렬] 소트인사이드 :: seoftware 문제 https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 소스코드 #include #include #include #include using namespace std; bool desc(int a, int b) { return a > b; } int main(void) { string s; cin >> s; int len = s.length(); vector arr(len); for (int i = 0; i < len; i++) { arr[i] = s[i]-'0'; } sort(arr.begin(), arr.end(), desc); f.. 2020. 2. 29.