정렬 문제를 풀다보면, 단계적으로 학습하는 듯한 느낌을 계속 받는다. 물론 그래서 단계적 학습이겠지만 이 문제도 이전에 있던 구조체-퀵 정렬을 사용하여 풀어보았다. #include #include #include typedef struct arr { int num; char name[101]; int age; } member; int compare(const void *a, const void *b) { member m1 = *(member *)a; member m2 = *(member *)b; if(m1.age > m2.age) return 1; else if(m1.age m2.num) return 1; else if(m1.num ..
이번에도 역시 구조체를 응용한 퀵 정렬을 사용하였다. 문제 자체의 난이도가 높지는 않았다 #include #include #include typedef struct arr { char word[51]; int length; } words; int compare(const void *a, const void *b) { words str1 = *(words *)a; words str2 = *(words *)b; if(str1.length > str2.length) return 1; else if(str1.length < str2.length) return -1; else return strcmp(str1.word, str2.word); } int solve() { int N; scanf("%d", &N); ..
이전 문제랑 별 다를 거 없는 문제.. 이전 문제에서 compare만 조금 바꿔서 넣으면 된다. #include #include typedef struct arr { int x; int y; } axis; int compare(const void *a, const void *b) { axis p1 = *(axis *)a; axis p2 = *(axis *)b; if(p1.y > p2.y) return 1; else if(p1.y p2.x) return 1; else if(p1.x < p2.x) return -1; else return 0; } } int solve() { int N; scanf("%d", &N); axis res[N]; fo..
와 좌표 정렬~~ 쉽져~~ 그냥 정렬하면 되겠네요 무지성 정렬~~~~~~~~~~~~~~~~~~ #include int solve() { int N, temp; scanf("%d", &N); int axis[N][2]; for(int i=0;i p2.y) return 1; else if(p1.y < p2.y) return -1; else return 0; } } int solve() { int N; scanf("%d", &N); axis res[N]; for(int i=0;i
며칠 열심히 했더니 단계가 올라따 똥내나는 브론즈를 떨쳐내고 실버로 올라왔지,,만? 아직 한참 부족하다 전역 전까지 골드 나부랭이는 달아보는게 목표인데, 만약 골드 찍으면 플래로 달리는거고 ㅎ 요즘 이래저래 스트레스 받는 일들이 좀 있었는데 그래도 공부한게 점점 쌓여가니까 공부했다는 느낌이 확 와서 좋다 여기에서 너무 스트레스 받지 말고 넘겨야겠다, 그래봐야 이상한 사람들 보는거 5개월 남짓 남았는데 여기에 신경 쓰기에는 내 앞에 닥친 것들이 너무 많아서 그런것들까지 신경 쓰기에는 시간이 없다. 2일 뒤 휴가 나가니까 그때 훌훌 털고 다시 150일을 버텨봐야겠다 :)
1. 입력받은 수의 자릿수 확인 2. 자릿수만큼의 크기인 배열 생성 3. % 연산을 통해 숫자 하나하나 떼기 4. qsort로 내림차순 정렬 #include #include int compare(const void *a, const void *b) { return *(int *)b - *(int *)a; } int solve() { int N, temp, size = 0; scanf("%d", &N); temp = N; while(temp > 0) { temp /= 10; size++; } int res[size]; for(int i=0;i
Comment