더 많이 실패하기

백준 1712번 손익분기점 자바 / 백준 단계별로 풀어보기 자바 7단계 / 7. 기본 수학 1 :개발 공부 41일차 본문

알고리즘/백준

백준 1712번 손익분기점 자바 / 백준 단계별로 풀어보기 자바 7단계 / 7. 기본 수학 1 :개발 공부 41일차

김발자~ 2022. 9. 10. 23:12
반응형

개발 공부 41일차

백준 7단계 1번 문제 - 1712 손익분기점

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

 

1712번: 손익분기점

월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와

www.acmicpc.net

 

 

 

 


7. 기본 수학 1

(1) 백준 1712번 문제

손익분기점

 

문제

 

 

 

과정 생각해보기

 

고정 a

b * 생산개수

c * 판매개수(=생산개수)

 

a + b * 생산개수 < c * 생산개수

이때 판매개수를 구하는 문제

손익분기점이 없으면(b >= c이면) -1 출력

 

i의 범위를 정하기 어려우므로 for문보단 while 문이 나을 것 같다

이에 if로 나눠서 손익분기점이 있을 경우와 없는 경우를 나눠서 출력

 

 

 

오답

n을 int로 줬다가 틀렸다고 떠서 더 큰 숫자를 다룰 수 있도록 long으로 수정했더니

이클립스에선 답을 제대로 도출할 수 있었지만 백준에서 시간 초과가 떴다

 

Scanner가 아니라 다른 방법을 써야할 것 같다

전에 풀었던 15552번 문제 풀이를 보며 혼자 써보려고 노력했다

 

 

 

정답 인정 코드

 

1번

BufferedReader를 이용해서 성공!

 

 

하지만 훨씬 더 간단한 방법이 있었으니..

2번

a + b * n = c * n
a = c * n - b * n
a = n(c - b)
a / (c - b) = n

로 손익분기점이 발생되기 직전의 n값을 구할 수 있게 된다

 

이에 따라 n에 1을 더해주면 최초의 손익분기점이 생기는 개수를 구하게 되는 것

 

 

 

 

직후 백지 복습

코딩 보다는 수학을 이용한 문제라 오늘은 패스

 

 

 


혼자 구해서 뿌듯했는데 훨씬 쉬운 방법이 있어서 깨닫는 게 많다

다들 즐거운 추석연휴 보내시길~

반응형
Comments