알고리즘 문자열 정렬 성공 코드 #include #include #include #include using namespace std; struct Word{ int length; string content; Word(string content){ this->length = content.size(); this->content = content; } bool operatorlength != word.length){ return this->lengthcontent> n; for(int i=0; i> w; v.push_back(Word(w)); } sort(v.begin(), v.end()); string tmp = " "; for(int i=0; i
2750번, 2751번 문제 차이와 풀이 방법 같은 수 정렬 문제이지만, 두 문제는 정렬할 수의 개수와 수의 크기 면에서 차이가 있다. 2750번에서 선택정렬을 이용하였고 2751번은 우선순위큐의 최소힙을 이용하였다. 2751번을 선택정렬을 이용하여 실행하니 시간 초과가 발생했다. 즉, 많은 수의 정렬에 있어서는 선택정렬 방법이 효율적이지 못했다. 시간복잡도를 통해 살펴보면 선택정렬은 O(n^2)의 시간복잡도를 가지고 우선순위큐 정렬은 삽입과 삭제 시 모두 O(logn)의 시간복잡도를 가지므로 -> 우선순위큐를 이용하여 정렬하는 방법이 시간 면에서 더 효율적이라는 것을 판단할 수 있다. 2750번: 수 정렬하기 #include int main(){ // freopen("input.txt", "rt", s..