C++/C++ 알고리즘

백준17496번 StarFruit C++로 구현해보기

kimc 2021. 8. 29. 20:13

```

백준17496번 StarFruit C++로 구현해보기

```

 

이번 글을 통해 배워갈 내용

  1.  백준 17496번 풀이

백준 17496번 Star Fruit은

난이도 하하 등급의 문제로서

 

https://www.acmicpc.net/problem/17496

 

17496번: 스타후르츠

1, 11, 21, 31, 41 일에 스타후르츠 씨앗을 심으면 됩니다. 51일에 심으면 61일에 수확이 가능한데 여름은 60일까지 이므로 61일에는 수확할 수 없습니다. 따라서 총 5 * 300 = 1500개의 스타후르츠를 수확

www.acmicpc.net

 


30분 정도 위에 링크를 방문하셔서 풀어보시고

안풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.


 

풀이의 경우

 

 

유저로 부터 N, T, C, P를 입력 받고

	void getInputFromUser()
	{
		/* 입력 속도를 줄여서 시간제한을 통과하기 위해서 stringstream 사용*/
		std::string inputStr;
		std::getline(std::cin, inputStr);
		std::stringstream ss(inputStr);
		ss >> N;
		ss >> T;
		ss >> C;
		ss >> P;
	}

 

((N-1) / T * C * P); 을 출력해주면 됩니다.

	void printMaxProfit()
	{
		std::cout << findMaxProfit();
	}


	int findMaxProfit()
	{
		return ((N-1) / T * C * P);
	}

 

씨앗을 키울수 있는 총 횟수 = (여름의 일수 / 씨앗이 자라는 기간)

최대 이윤 = 씨앗을 키울수 있는 총 횟수 * 심을 수 있는 칸의 수 * 개당 가격

 

 

 

 

전체 코드는 아래와 같습니다.

#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include <stack>
#include <queue>
#include <map>
#include <algorithm>
#include<numeric>


class CStarFruit
{
private:
	int N;
	int T;
	int C;
	int P;

public:
	CStarFruit()
	{

	}

	~CStarFruit()
	{

	}

	void getInputFromUser()
	{
		/* 입력 속도를 줄여서 시간제한을 통과하기 위해서 stringstream 사용*/
		std::string inputStr;
		std::getline(std::cin, inputStr);
		std::stringstream ss(inputStr);
		ss >> N;
		ss >> T;
		ss >> C;
		ss >> P;
	}

	void printMaxProfit()
	{
		std::cout << findMaxProfit();
	}


	int findMaxProfit()
	{
		return ((N-1) / T * C * P);
	}


};

int main()
{
	std::cin.tie(NULL);
	std::ios::sync_with_stdio(false);

	CStarFruit* cStarFruit = new CStarFruit();

	cStarFruit->getInputFromUser();
	cStarFruit->printMaxProfit();


}

 

 

 

 

읽어주셔서 감사합니다

 

무엇인가 얻어가셨기를 바라며

 

오늘도 즐거운 코딩하시길 바랍니다 ~ :)

 

참조 및 인용

C++ Primer

Introduction to Algorithms


https://codemasterkimc.tistory.com/35

 

C++ 이론을 배울수 있는 곳 정리

개요  C++을 배우는 책, 강의, 블로그, 링크 등을 공유합니다. (링크 및 간략한 설명을 하였으나 만약 원작자가 링크를 거는것을 원치 않을 경우 연락주시기 바랍니다.) 서적 https://www.amazon.com/Prime

codemasterkimc.tistory.com

 

https://codemasterkimc.tistory.com/50

 

300년차 개발자의 좋은 코드 5계명 (Clean Code)

이번 글을 통해 배워갈 내용  좋은 코드(Clean Code)를 작성하기 위해 개발자로서 생각해볼 5가지 요소를 알아보겠습니다. 개요 좋은 코드란 무엇일까요? 저는 자원이 한정적인 컴퓨터 세상에서 좋

codemasterkimc.tistory.com

 


 

728x90