zj3t

email: euntaejang@gmail.com

Latest Posts

Algospot-LECTURE

By 오후 6:52

왕초보 문제 푸는데 왤케 머리가 안돌아가는지 모르겠습니다.
일년가까이 다른거하다가 프로그래밍을 하니 어렵네요...이 문제도 문제 난이도치고는 오래걸렸습니다.


문제는 그냥 단순한 버블정렬이였습니다. 처음 C배울때도 쉽게 풀던문제였는데 왜 해맸는지 잘 모르겠습니다.


#include <stdio.h>
#include <string.h>

int main() {
int count = 0;
char arrays[1000] = { 0, };
char s1[2] = { 0,0 };
int len = 0;

scanf_s("%d", &count);
for (int i = 0; i < count; i++) {
scanf_s("%s", arrays, sizeof(arrays));
len = strlen(arrays);


for (int j = 0; j < len; j = j + 2) {
for (int h = j+2; h < len; h = h + 2) {

if (arrays[j] > arrays[h]) {
s1[0] = arrays[j];
s1[1] = arrays[j + 1];
arrays[j] = arrays[h];
arrays[j + 1] = arrays[h+1];
arrays[h] = s1[0];
arrays[h + 1] = s1[1];
}

else if (arrays[j] == arrays[h]) {
if (arrays[j + 1] >= arrays[h + 1]) {
s1[0] = arrays[j + 1];
arrays[j+1] = arrays[h + 1];
arrays[h + 1] = s1[0];
}
else {
s1[0] = arrays[h];
s1[1] = arrays[h + 1];
}
}
}
}
printf("%s\n", arrays);
}
return 0;
}

버블정렬 코드라고 생각하시면 될꺼같습니다. 주석은 딱히 안달아도 될 것 같습니다.

You Might Also Like

0 개의 댓글