Algorithm/Sorting Baekjoon 1431 시리얼 번호 2019. 8. 23. Link https://www.acmicpc.net/problem/1431 소스결과 1996 KB / 0 ms 출처 Baekjoon 언어 C++ 17 분류 정렬 소스코드 #include #include #include #include using namespace std; bool cmp(string& str1, string& str2) { int len1 = str1.length(); int len2 = str2.length(); if (len1 != len2) return len1 < len2; int str1Sum = 0; int str2Sum = 0; for (int i = 0; i < len1; i++) { if ('0' inputs[i]; sort(inputs.begin(), inputs.end.. Baekjoon 10814 나이순 정렬 2019. 8. 23. Link https://www.acmicpc.net/problem/10814 소스결과 9820 KB / 84 ms 출처 Baekjoon 언어 C++ 17 분류 정렬 설명 나이순으로 정렬하자! 단 입력 순서가 지켜져야 하므로 stable한 sort를 구현하거나 사용해야 한다. 소스코드 #include #include #include #include using namespace std; struct Contact { int age; string name; bool operatorage > contacts[i].age >> .. Baekjoon 10825 국영수 2019. 8. 23. Link https://www.acmicpc.net/problem/10825 소스결과 6688 KB / 140 ms 출처 Baekjoon 언어 C++ 17 분류 정렬 설명 도현이네 반 학생을 주어진 조건대로 정렬하자 STL 연습겸, 정렬 알고리즘을 연습하기 좋은문제 구조체 배열 / vector sort 사용하기 , Quick, Merge Sort 연습용도로는 괜찮은 문제다. 알고리즘이라 할만한 내용도 크게 없다. 소스코드 #include #include #include #include using namespace std; struct Student { string name; int kor; int eng; int mat; bool operator s.eng) return false; else if (en.. Baekjoon 1181 단어 정렬 2019. 8. 22. Link https://www.acmicpc.net/problem/1181 소스결과 3944 KB / 20 ms 출처 Baekjoon 언어 C++ 17 분류 정렬 설명 단어를 주어진 조건대로 정렬하여 출력하자. string이 아닌 char*로 넘겨 받아서 처리한다면 난이도가 조금 올라가는 문제 주어진 조건에 맞게 비교할 수 있는 cmp 함수를 만들면된다. string 을 사용한다면 사전순 정렬은 operator가 정의되어 있어 쉽다. 소스코드 #include #include #include #include using namespace std; bool cmp(string& str1, string& str2) { if (str1.length() == str2.length()) return str1 < st.. BaekJoon 10989 수 정렬하기 3 2019. 1. 12. Link https://www.acmicpc.net/problem/10989 소스결과 1136 KB / 2444 ms 출처 Backjoon 언어 C 분류 정렬 설명 개수가 많아서 시간제한이 3초다, 근데 메모리는 고작 8 MB 배열을 전부 저장하게 되면 메모리는 견디지 못한다. 메모리가 넉넉했더라면 Quick Sort로 구현 해도 정답이 되겠지만 위 문제는 Quick Sort로 구현하는게 아니다. 중복되는 수가 존재하기 때문에 그 수의 개수만 알고 있으면 되고, 그 수를 순서대로 출력하는 Counting Sort를 구현하는 문제이다. 다른 Sorting과는 다르게 중복 되는 값이 존재하는 경우에 사용하는 Sorting 방법이다. 주 핵심은 중복되는 값의 개수를 저장하는 것이다. 알고리즘 1. 값을 입력 .. BaekJoon 1026 보물 2019. 1. 12. Link https://www.acmicpc.net/problem/1026 소스결과 1988 KB / 0 ms 출처 Backjoon 언어 C++ 17 분류 정렬 설명 S 의 값을 최소로 만들어야 하는 문제 위 공식을 통해 최소로 만들기 위해서는 a는 오름차순으로, b는 내림차순으로 정렬하면 된다. 문제에서는 재배열 하면 안된다고 쓰여 있지만 정답과는 관련이 없기에 정렬 해주자 알고리즘 1. a와 b를 입력 받는다. 2. a를 오름차순 정렬한다. 3. b를 내림 차순 정렬한다. 4. 각 위치의 값을 곱해 전부 더한다. 5. 출력 소스코드 #include using namespace std; int main() { int n; int a[50]; int b[50]; int sum = 0; cin >> n; .. BaekJoon 1205 등수 구하기 2018. 12. 31. Link : https://www.acmicpc.net/problem/1205 소스 결과 : 1988KB / 0 ms 출처 : BackJoon 설명 Sorting 문제 구경중에 정답률이 생각보다 낮아서 풀어본 문제 알고리즘 1. 크기 n 의 벡터 생성 2. 내림차순 정렬 3. 기준 점수보다 큰 점수와 같은 점수 개수를 저장 4. 큰 점수 + 같은 점수 의 수가 랭킹 저장 수와 비교 5. 비교 값이 목표 커트라인보다 작으면 큰 점수 +1 아니면 -1 소스코드 #include #include #include using namespace std; bool comp(int x, int y) { return x > y; } int main() { int n; int songScore; int cut; cin >>.. BaekJoon 1427 소트인사이드 2018. 12. 31. Link : https://www.acmicpc.net/problem/1427 소스 결과 : 2048 KB / 0 ms 출처 : BackJoon 설명 시간제한 2초 최대 배열 크기 10 Bubble Sort로 구현해도 금방 푸는 문제 문제 찾던중 눈에 걸려서 풀어본 문제 알고리즘 1. log를 이용하여 자리 수 추출 2. 각 자리 값을 digits 배열에 저장 3. Selection Sort를 이용하여 정렬 4. 출력 소스코드 #include #include using namespace std; int main() { int n; cin >> n; int size = log10(n) + 1; int digits[10]; for (int i = 0; i < size; i++) { digits[size - .. 이전 1 다음 1/1