SPRING :: NOTE
[C] 숫자 붙이기 연산으로 두 수 비교하는 프로그램 작성 본문
반응형
# 문제 설명
- 연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환한다.
- 예를 들면 다음과 같습니다.
- 12 ⊕ 3 = 123
- 3 ⊕ 12 = 312
- 양의 정수 a와 b가 주어졌을 때,
a ⊕ b와 b ⊕ a 중 더 큰 값을 return 하는 solution 함수를 작성
- 단, a ⊕ b와 b ⊕ a가 같다면 a ⊕ b를 return 한다.
#include <stdio.h>
int combine(int a, int b) { // 연산 ⊕를 수행하는 함수
int ret = a;
while (b > 0) {
ret *= 10;
b /= 10;
}
return ret + b;
}
int solution(int a, int b) {
int a_b = combine(a, b);
int b_a = combine(b, a);
if (a_b >= b_a) {
return a_b;
} else {
return b_a;
}
}
int main() {
int a = 12, b = 3;
int result = solution(a, b);
printf("%d\n", result);
return 0;
}
combine 함수는 두 정수를 붙여서 쓴 값을 반환한다.
solution 함수는 입력받은 두 정수 a와 b를 combine 함수를 이용하여 각각을 붙여서 쓴 a⊕b와 b⊕a의 값을 비교하여 더 큰 값을 반환하며, a⊕b와 b⊕a의 값이 같다면 a⊕b를 반환한다.
main 함수에서는 문제 예시인 a=12, b=3으로 입력하여 solution 함수를 실행한 결과를 출력합니다.
출력 결과는 다음과 같다.
# 입력 예시
a = 12, b = 3
# 출력 예시
123
반응형
'Development Language > C · C++ · MFC' 카테고리의 다른 글
[C] 문자 또는 문자열을 n번 반복하여 출력하는 프로그램 작성 (0) | 2023.04.25 |
---|---|
[C] 문자 배열을 이용하여 문자열을 출력하는 프로그램 작성 (0) | 2023.04.25 |
[C] 번갈아가며 문자열을 만드는 프로그램 작성 (0) | 2023.04.25 |
[C] 문자열을 겹쳐 출력하는 프로그램 작성 (0) | 2023.04.25 |
[C] 입력받은 정수 홀/짝 구분하는 프로그램 작성 (0) | 2023.04.25 |
Comments