728x90
https://www.acmicpc.net/problem/2908
문제해석
- 값을 거꾸로 읽기 때문에 tmp를 사용 (tmp : 변수의 값을 교환할 때 사용, 임의로 저장가능)
- 입력받을 값은 최대 3글자의 문자열을 저장할 수 있는 배열로 선언 => 'cahr a[4]', 'char b[4]'
- 두개의 문자열을 비교하여 결과를 반환할 것이기 때문에 sting 헤더파일에 있는 strcmp() 함수를 사용
소스코드
#include <stdio.h>
#include <string.h>
int main() {
char a[4];
char b[4];
char tmp;
scanf("%s", a);
scanf("%s", b);
tmp = a[0];
a[0] = a[2];
a[2] = tmp;
tmp = b[0];
b[0] = b[2];
b[2] = tmp;
if (strcmp(a, b) > 0) {
printf("%s", a);
}
else {
printf("%s", b);
}
}
문제풀이
- 'cahr a[4]', 'char b[4]' : 입력받을 값은 최대 3글자의 문자열을 저장하기 위해 배열의 크기를 4로 지정해줍니다.
- tmp를 이용하여 입력받은 변수 a와 b의 0번째 요소와 2번째 요소의 자리를 바꿔주면 거꾸로 읽을 수 있습니다.
ex) 123 => 321
tmp = a[0];
a[0] = a[2];
a[2] = tmp;
tmp = b[0];
b[0] = b[2];
b[2] = tmp;
3. 조건문에서 strcmp (a, b) 함수를 이용하여 a와 b를 비교합니다.
=> 이때 a<b : 음수 반환 / a>b : 양수 반환 / a==b : 0 반환 하기 때문에 strcmp (a, b)가 0보다 크다는 것이 참이면 a가 큰 값이고, 아니면 b가 큰 값이 됩니다.
if (strcmp(a, b) > 0) {
printf("%s", a);
}
else {
printf("%s", b);
}
예제
728x90
'백준(BaekJoon)' 카테고리의 다른 글
[BaekJoon/C] No.2566 : 최댓값 (0) | 2024.05.17 |
---|---|
[BaekJoon/C] No.2563 : 색종이 (0) | 2024.05.17 |
[BaekJoon/C] No.10809 : 알파벳 찾기 (0) | 2024.05.15 |
[BaekJoon/C] No.10988 : 팰린드롬인지 확인하기 (0) | 2024.05.08 |
[BaekJoon/C] No.11022 : A+B-8 (0) | 2024.05.08 |