#include <stdio.h>
#include <string.h>
#define DIGIT 3
void reverse(char* n1);
int main(void)
{
char num1[DIGIT + 1];
char num2[DIGIT + 1];
scanf("%s %s", num1, num2);
reverse(num1);
reverse(num2);
printf("%s", strcmp(num1, num2) > 0 ? num1 : num2);
printf("%s", atoi(num1) > atoi(num2) ? num1 : num2); //string.h대신 stdlib.h필요
return 0;
}
void reverse(char* n1)
{
char tmp;
tmp = *n1;
*n1 = *(n1 + 2);
*(n1 + 2) = tmp;
}
풀이1
- 문자열로 입력 받아 쭉 문자열로 처리하는 풀이 방식
- 문자열의 비교를 위해서는 string 라이브러리의 strcmp사용할 수 있고, 정수로 바꿔 비교하려면 stdlib의 atoi를 사용하면 된다
- long long의 범위를 넘어서는 자리 수를 입력받더라도 처리 가능
#include <stdio.h>
int main(void)
{
int num1, num2;
scanf("%d %d", &num1, &num2);
num1 = (num1 % 10) * 100 + (num1/10 % 10) * 10 + (num1/100 % 10);
num2 = (num2 % 10) * 100 + (num2/10 % 10) * 10 + (num2/100 % 10);
printf("%d", num1 > num2 ? num1 : num2);
return 0;
}
풀이2
- 정수로 입력받아 모듈러스를 활용해 reverse 후 비교 출력
'문제풀이' 카테고리의 다른 글
[C언어] 백준 2941 크로아티아 알파벳 (0) | 2021.12.22 |
---|---|
[C언어] 백준 5622 다이얼 (0) | 2021.12.22 |
[C언어] 백준 1152 단어의 개수 (0) | 2021.12.22 |
[C언어] 백준 1157 단어공부 (0) | 2021.12.22 |
[C언어] 백준 2675 문자열반복 (0) | 2021.12.21 |