접근 방법
1. 처음 받은 숫자를 sorting 하여 배열에 넣었다.
2. case별로 sorting된 배열에서 뽑아서 출력한다.
3. 과연 6가지 모든 경우에 대해 조건문을 해줘야 하는지 의문이다.
/*
Problem : ABC
Writer : J. I. Mun
Date : 20180102
*/
#include <stdio.h>
int main(int argc, char * argv[]) {
int abc[3];
char ch1, ch2, ch3;
int temp = 0;
for(int i=0; i<3; i++){
scanf_s("%d",&abc[i]);
}
getchar();
ch1 = getchar();
ch2 = getchar();
ch3 = getchar(); fflush(stdin);
//printf("%c %c %c",ch1,ch2,ch3);
for(int i=0; i<3;i++){
for(int j=0; j<2;j++){
if(abc[j] > abc[j+1]){
temp = abc[j];
abc[j] = abc[j+1];
abc[j+1] = temp;
}
}
}
if (ch1 == 'A' && ch2 == 'B' && ch3 == 'C') {
printf("%d %d %d",abc[0],abc[1],abc[2]);
}
else if (ch1 == 'A' && ch2 == 'C'&&ch3 == 'B') {
printf("%d %d %d",abc[0],abc[2],abc[1]);
}
else if (ch1 == 'B' && ch2 == 'A'&&ch3 == 'C') {
printf("%d %d %d",abc[1],abc[0],abc[2]);
}
else if (ch1 == 'B' && ch2 == 'C'&&ch3 == 'A') {
printf("%d %d %d",abc[1],abc[2],abc[0]);
}
else if (ch1 == 'C' && ch2 == 'A'&&ch3 == 'B') {
printf("%d %d %d",abc[2],abc[0],abc[1]);
}
else if (ch1 == 'C' && ch2 == 'B'&&ch3 == 'A'){
printf("%d %d %d",abc[2],abc[1],abc[0]);
}
return 0;
}
'Computer Science > Algorithm' 카테고리의 다른 글
[Algorithm/C] BOJ.1003 피보나치 함수 (0) | 2018.01.04 |
---|---|
[Algorithm/C] BOJ.1065 한수 (0) | 2018.01.03 |
[Algorithm/C] BOJ.14954 Happy Number (0) | 2018.01.01 |
[Algorithm/C] AOJ.WITHDRAWAL(미해결) (1) | 2017.12.26 |
[Algorithm/C] BOJ.1016 제곱ㄴㄴ수(미해결) (2) | 2017.12.25 |