정렬 문제입니다. 200보다 작거나 같은 사람이 있으므로 벡터 배열을 201개이상 만들어줍니다. 그리고 숫자에 맞는 배열에 이름을 push_back해줍니다. sort 함수로 숫자순으로 정렬을 하고 출력해주었습니다. #include #include #include #include #include #define fio ios_base::sync_with_stdio(0), cin.tie(0) using namespace std; int main(int argc, char *argv[]) { int n; int num = 0; char s[110]; vector v[210]; cin >> n; for (int i = 0; i > num; cin >> s; v[num].push_ba..
정렬 문제입니다. sort함수로 글자가 짧은것 순으로 정렬하고 글자 길이가 같으면 글자순으로 정렬합니다. 그리고 erase, unique를 써서 중복을 제거한 후 차례대로 출력했습니다. #include #include #include #include #include using namespace std; bool compare(string a, string b) { if (a.size() == b.size()) { return a < b; } else { return a.size() < b.size(); } } int main(int argc, char *argv[]) { int n; char s[100]; vector v; scanf("%d", &n); for (int i = 0; i < n; ++i) ..
좌표를 정렬하는 문제입니다. y를 기준으로 정렬하고 y가 같다면 x를 기준으로 정렬합니다. vector를 사용하여 값을 넣고 sort함수로 정렬을 합니다. sort함수에 3번째 인자에 함수를 넣어서 두번째 수 (y) 가 같으면 첫번째 수 (x)를 기준으로 정렬하도록 하게합니다. bool compare(paira, pairb) { if (a.second == b.second) { return a.first < b.first; } else { return a.second < b.second; } } 이렇게 정렬된 수를 차례대로 출력해서 문제를 풀었습니다.
좌표를 정렬하는 문제입니다. x를 기준으로 정렬하고 x가 같다면 y를 기준으로 정렬합니다. vector를 사용하여 값을 넣고 sort함수로 정렬을 합니다. sort함수에 3번째 인자에 함수를 넣어서 첫번째 수 (x) 가 같으면 y를 기준으로 정렬하도록 하게합니다. bool compare(paira, pairb) { if (a.first == b.first) { return a.second < b.second; } else { return a.first < b.first; } } 이렇게 정렬된 수를 차례대로 출력해서 문제를 풀었습니다. #include #include #include #include using namespace std; bool compare(paira, pairb) { if (a.firs..
평균, 중앙값, 최빈값, 범위를 구하는 문제입니다. 평균 : n개의 입력받은 값을 전부 더한 후 n으로 나누고 +0.5를 해준 후 floor함수로 내림을 해줘서 평균해주어서 구했습니다. 중앙값 : n은 홀수이므로 n / 2 + 1번째 위치가 중앙값입니다. sort한 다음 n / 2 + 1번째 배열을 출력했습니다. 최빈값 : 많이 나온 값들을 vector에 넣어두고 그 값들중 두번째로 작은 값을 출력했습니다. 범위 : 입력받을 때 가장 큰 숫자와 가장 작은 숫자를 계산하였고 가장 큰 숫자 - 가장 작은 숫자를 해주어서 구했습니다. #include #include #include #include #include using namespace std; int main(int argc, char *argv[]) ..
정렬문제입니다. N의 개수가 천만개가 되기 때문에 전부 배열에 넣는것은 어렵습니다. 하지만 입력받는 자연수는 10000보다 작거나 같은 자연수이므로, 10000크기 짜리 배열을 만들어서 입력받은 수의 위치에 +1씩 더해줘서 x의 숫자가 몇번있다는 것을 알 수 있게합니다. 그리고 for문을 돌면서 배열에 값이 들어와 있다면 그 숫자를 배열에 들어와 있는 숫자만큼 출력해주었습니다. #include #include #include using namespace std; int main(int argc, char *argv[]) { int n; int num; int arr[10010]; cin >> n; memset(arr, 0, sizeof(arr)); for (int i = 0; i < n; ++i) { s..
정렬 문제입니다. vector에 값을 넣고 sort함수를 통해 정렬한 후에 출력해주었습니다. cin, 과 cout를 사용하면 시간이 좀 더 오래걸리므로 printf와, scanf를 사용해주었습니다. #include #include #include using namespace std; vector v; int main(int argc, char *argv[]) { int n; int num; cin >> n; for (int i = 0; i < n; ++i) { scanf("%d", &num); v.push_back(num); } sort(v.begin(), v.end()); for (int i = 0; i < v.size(); ++i) { printf("%d\n", v[i]); } return 0; }
정렬 문제입니다. vector에 값을 전부 담고 sort(v.begin(), v.end())를 하여 오름차순으로 정렬한 후 전부 출력해주었습니다. #include #include #include using namespace std; int main(int argc, char *argv[]) { int n; int num; vector v; cin >> n; for (int i = 0; i > num; v.push_back(num); } sort(v.begin(), v.end()); for (int i = 0; i < v.size(); ++i) { cout