두 개의 숫자 K와 X가 주어졌다고 가정해 보겠습니다. 아말(Amal)은 500루피짜리 지폐를 K장 가지고 있으며, 이 지폐들의 총합이 X루피 이상이 되는지 확인해야 합니다.
예를 들어 입력이 K = 2, X = 900이라면 출력은 True(참)가 됩니다. 2 × 500 = 1000이므로 900보다 작지 않기 때문입니다.
문제 해결 접근 방식
이 문제는 매우 간단한 산술 비교만으로 해결할 수 있습니다. 로직은 다음과 같습니다.
- 500루피 지폐가 K장 있으므로, 총 금액은
500 × K입니다. - 이 값이 X보다 크거나 같으면 참(true)을 반환합니다.
- 그렇지 않으면 거짓(false)을 반환합니다.
if (500 * k) >= x, then:
return true
Otherwise
return falseC++ 구현 예제
더 나은 이해를 위해 다음 구현 코드를 살펴보겠습니다.
#include <bits/stdc++.h>
using namespace std;
bool solve(int k, int x){
if ((500 * k) >= x){
return true;
} else{
return false;
}
}
int main(){
int K = 2;
int X = 900;
cout << solve(K, X) << endl;
}입력
2, 900
출력
1
출력값 1은 불리언 값 true를 의미하며, 즉 2장의 500루피 지폐(총 1000루피)가 목표 금액인 900루피를 충족한다는 것을 나타냅니다.