소스코드
#include <stdio.h>
#include <stdlib.h>
int main (){
int a, b, i;
scanf("%d %d", &a, &b);
char a1[4];
char a2[4];
char b1[4];
char b2[4];
sprintf(a1, "%d", a);
sprintf(b1, "%d", b);
for(i=0; i<3; i++){
a2[2-i] = a1[i];
b2[2-i] = b1[i];
}
a = atoi(a2);
b = atoi(b2);
int ans;
if (a > b) ans = a;
else if (a < b) ans = b;
printf("%d", ans);
}
char 문자열을 선언할 때, 맨 뒷자리 null도 포함해 4자리를 선언해야 한다.
3자리 숫자를 저장하고 싶을 때는 4자리 선언.
atoi함수는 표준이다. 문자열 자릿수를 맞추지 못해서 틀림.
해설
우선 scan함수로 두 수를 받는다.
수를 뒤집을 때는 배열을 이용할 것이라서 배열 4개(두 수 각각 뒤집기 전, 후 4개) 를 크기 4로 선언해준다.
숫자를 배열로 변환 (sprintf) 한 뒤, for문을 이용해서 a, b 숫자 순서를 뒤집어 준다.
배열을 다시 숫자로 변환 (atoi - stdlib.h 헤더파일 선언할 것) 한 뒤 크기 비교해서 더 큰 숫자를 출력하면 끝.
'solving > C, C++' 카테고리의 다른 글
[백준] 10809번 알파벳 찾기 (ASCII 코드로 소-대문자, 소문자-숫자 변환) (0) | 2022.08.27 |
---|---|
[백준] 3052번 나머지 (다시 풀어볼 것) (0) | 2022.08.27 |
[백준] 2577번 숫자의 개수 (sprintf) (0) | 2022.08.27 |
[백준] 8958번 OX퀴즈 (0) | 2022.08.27 |
[백준] 2920번 음계 (0) | 2022.08.27 |