백준 algorithm
백준 2839 - 설탕 배달
cosmohoo
2020. 6. 5. 23:02
반응형
=> 브루트 포스 문제는 아니지만, 브루트 포스 문제로 해결하였습니다.
-
5를 3보다 더 많이 써야 효율적인 알고리즘입니다.
-
5를 더 많이 쓰기 위해 이중for문의 안쪽에 5를 위치하였습니다.
-
그후 3를 바깥쪽 for문에 위치하였습니다.
-
입력 받은 값과 i j와 3 5 를 곱한 값이 같은지 확인합니다.
-
이중for문이 끝나도 원하는 값이 없을 경우 -1을 출력합니다.
<code>
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int N;
cin >> N;
int FiveLimit = (N / 5);
int ThreeLimit = (N / 3);
for(int i=0; i<=ThreeLimit; i++)
{
for(int j=0; j<=FiveLimit; j++)
{
if((3*i) + (5*j) == N)
{
cout <<i+j<<'\n';
return 0;
}
}
}
cout <<-1<<'\n';
return 0;
}
반응형