반응형
https://www.acmicpc.net/problem/19947
19947번: 투자의 귀재 배주형
2020년에 학교로 복학한 주형이는 월세를 마련하기 위해서 군 적금을 깨고 복리 투자를 하려고 한다. 주형이가 하려는 투자에는 3가지 방법의 투자 방식이 있다. 1년마다 5%의 이율을 얻는 투자 (
www.acmicpc.net
재귀를 이용한 brute force문제였습니다.
📕 풀이방법
📔 입력 및 초기화
투자 기간 y, 초기돈 h를 선언한 후 입력받습니다.
📔 풀이과정
각 3가지의 경우에 대해 이자를 받은 후의 연도와 보유자산을 다름 함수의 인자로 넘겨 재귀형태로 호출합니다.
📔 정답출력
bruteForce()의 반환값을 출력합니다.
📕 Code
backtracking처럼 구현한 방식
#include <bits/stdc++.h>
using namespace std;
int y;
double h;
int bruteForce(double h, int y){
if(y < 0) return 0;
if(y == 0) return h;
int ret = 0;
ret = max(ret, bruteForce((int)h * 1.05, y - 1));
ret = max(ret, bruteForce((int)h * 1.2, y - 3));
ret = max(ret, bruteForce((int)h * 1.35, y - 5));
return ret;
}
int main(){
cin >> h >> y;
cout << bruteForce(h, y);
}
0년부터 차례대로 가는 방식(보기 편함)
#include <bits/stdc++.h>
using namespace std;
int y;
double h;
int bruteForce(double money, int year){
if(year > y) return 0;
if(year == y) return money;
int ret = 0;
ret = max(ret, bruteForce((int)money * 1.05, year + 1));
ret = max(ret, bruteForce((int)money * 1.2, year + 3));
ret = max(ret, bruteForce((int)money * 1.35, year + 5));
return ret;
}
int main(){
cin >> h >> y;
cout << bruteForce(h, 0);
}
'Algorithm > Brute Force' 카테고리의 다른 글
(C++) - 백준(BOJ) 1235 : 학생 번호 (0) | 2022.05.13 |
---|---|
(C++) - 백준(BOJ) 18511 : 큰 수 구성하기 (2) | 2022.05.10 |
(C++) - 백준(BOJ) 2246 : 콘도 선정 (0) | 2022.05.02 |
(C++) - 백준(BOJ) 5671 : 호텔 방 번호 (0) | 2022.05.01 |
(C++) - 백준(BOJ) 16173 : 점프왕 쩰리 (Small) (0) | 2022.04.27 |