#include <string>
#include <vector>
using namespace std;
//지갑의 가로, 세로 크기를 담은 정수 리스트 wallet
//지폐의 가로, 세로 크기를 담은 정수 리스트 bill
int solution(vector<int> wallet, vector<int> bill) {
int answer = 0;
//wallet 가로 세로의 크기가 bill보다 큰지 보고
//answer은 접은 횟수
while((wallet[0] >= bill[0] && wallet[1] >= bill[1]) || (wallet[0] >= bill[1] && wallet[1] >= bill[0]))
{
if(bill[0] > bill[1])
{
bill[0] /= 2;
}
else
{
bill[1] /= 2;
}
answer++;
}
return answer;
}
wallet의 길이 = bill의 길이 = 2
10 ≤ wallet[0], wallet[1] ≤ 100
10 ≤ bill[0], bill[1] ≤ 2,000
다른분의 것
#include <string>
#include <vector>
using namespace std;
//지폐를 지갑에 넣을 수 있는지 확인하는 함수
bool putwallet(vector<int> &wallet, const vector<int> bill)
{
if(wallet[0] >= bill[0] && wallet[1] >= bill[1])
{
return true;
}
else if(wallet[0] >= bill[1] && wallet[1] >= bill[0])
{
return true;
}
else
{
return false;
}
}
//지갑에 맞을 때 까지 접는 함수
int foldbill(vector<int>& wallet, vector<int>& bill)
{
int answer = 0;
while(false == putwallet(wallet, bill))
{
if(bill[0] > bill[1])
{
bill[0] /= 2;
}
else
{
bill[1] /= 2;
}
answer++;
}
return answer;
}
int solution(vector<int> wallet, vector<int> bill) {
int answer = 0;
answer = foldbill(wallet, bill);
return answer;
}'Leaning > C++' 카테고리의 다른 글
| [Hackerrank] Vector-Erase (0) | 2024.11.04 |
|---|---|
| [Hackerrank] Vector-Sort (0) | 2024.11.04 |
| DFS(깊이 우선 탐색), BFS(너비 우선 탐색) (0) | 2024.10.25 |
| C++ 자료구조(STL) (0) | 2024.10.24 |
| [HackerRank] Hotel Prices (0) | 2024.10.17 |