새소식

💻 Computer/🐘 Algorithm

[Algorithm] 백준 1712 - 손익분기점

  • -

이번 문제를 풀며 내가 수학적 논리력이 없다는 걸 깨달았다

기다려라 수학아...

목록
  1. 문제 설명
  2. 나의 풀이
  3. 수식 설명
  4. 정답 <- 답만 보고싶다면 (클릭)
문제 설명

손익분기점을 넘기려면 얼마나 판매해야 하나를 구하는 알고리즘

 

코드
import java.io.*;
import java.util.StringTokenizer;

public class Main {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer token = new StringTokenizer(br.readLine(), " ");

		int set = Integer.parseInt(token.nextToken());
		int variance = Integer.parseInt(token.nextToken());
		int sales = Integer.parseInt(token.nextToken());

		double result = set / (1 - ((variance * 1.0) / sales));

		double count = result / sales;
		if (result <= 0 || Double.isInfinite(result))
			System.out.println("-1");
		else if ((result % sales) >= 0) {
			count++;
			System.out.println((int) count);
		}
	}
}

손익분기점 공식 = >  고정비용 / ( 1 - (가변비용 / 판매비용))

 

이 공식을 사용했는데 근데 틀렸다....

그래서 인터넷 풀이를 보고 다른 공식이 있어 블로그를 참고하였다!

 

그럼 어떻게 풀어?

풀이를 보았는데 

내가 본 풀이 : https://st-lab.tistory.com/71

 

[백준] 1712번 : 손익분기점 - JAVA [자바]

https://www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며

st-lab.tistory.com

 

 

그래프의 (고정비용 + 가변비용 * N) 대문자 N이 아닌 소문자 n입니다ㅏㅏ

그러니 결론적으로 식은 A/(B-C)+1이 손익 분기점을 넘는 우리가 찾는 답이다.

 

그런데 손익 분기점이 나오지 않을 수 도 있다.

예를 들면 음수가 나오는 것 음수가 나오면 손익 분기 점은 나올 수 없다 

(쉽게 생각해 그래프 n(x축)이 음수 쪽에 가있다고 생각해도 되나..?)

 

자 그럼 

 

(C&nbsp; <= B) 조건식이 만족 할때 음수를 갖는다, 즉 -1 출력

자 이제 코드를 작성해 보도록 하자

 

코드
import java.io.*;
import java.util.StringTokenizer;

public class Main{

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer token = new StringTokenizer(br.readLine(), " ");

		int set = Integer.parseInt(token.nextToken());
		int variance = Integer.parseInt(token.nextToken());
		int sales = Integer.parseInt(token.nextToken());

		if (sales <= variance)
			System.out.println("-1");
		else
			System.out.println((set / (sales - variance) + 1));
	}
}

 

반성할 점 

모르겠다고 바로 풀이를 본 거 수학적 논리를 기르려고 푸는 문제의 중점을 파악하지 못함

 

참고사이트

1. https://st-lab.tistory.com/71

 

[백준] 1712번 : 손익분기점 - JAVA [자바]

https://www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며

st-lab.tistory.com

 

'💻 Computer > 🐘 Algorithm' 카테고리의 다른 글

[Algorithm] Fibonacci  (0) 2022.08.08
[Algorithm] 백준 1193 분수찾기  (0) 2022.08.05
[Algorithm] 백준 1316  (0) 2022.08.03
[Algorithm] 백준 2941  (0) 2022.08.03
[Algorithm] Select sort Algorithm  (0) 2022.08.02
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.