My Dream Being Visualized

Day 3: 백준 [8단계] 기본 수학 1 - 손익 분기점 본문

Algorithm

Day 3: 백준 [8단계] 기본 수학 1 - 손익 분기점

마틴킴 2021. 4. 9. 02:51
728x90

[결과]

두 번째는 오타, 세 번째는 PyPy3로 한번 해봤음

[코드]

시간초과가 걸렸다..... 응? 다른 수학적인 풀이 방법이 없을까 생각해보았음.
간단한 식이 있었기에 while문이 필요하지 않았음.

[과정]

1. 가변 비용이 판매비용보다 높으면 안되기에, B가 C보다 크면 -1 출력

2. while loop 써서 A+(B*n) < C*n이 되는 n출력

>> '시간초과' 걸림, 응?

3. 간단한 식이 있는지 생각해보았고, 식이 존재했음.

>> 고정비용 / (판매비용 - 가변비용) + 1

 

[공부]

1. math.ceil(value) 올림

2. math.floor(value) 내림

3. round(value) 반올림

 

[문제]

www.acmicpc.net/problem/1712

 

1712번: 손익분기점

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

www.acmicpc.net

[느낀점]

간단한 식이 있는지 생각해보지도 않고 바로 반복문으로 구현하려는 습관이 있었음.

문제 출제자의 의도를 사전에 파악하지 못 했고, 왜 정답률이 낮았을까에 대한 의문을 품지 않았기에 나도 똑같이 틀림.

접근방식의 잘못.

 

[선배 개발자들의 코드 분석]

리스트로 받지 않고 각각의 변수로 받았기에 가독성이 좋음 // print 함수 하나로 -(True or False) >> -True=-1, -False=0(or로 넘어감) >> -True와 -False와 or을 저렇게 쓸 수 있는지 몰랐음 // '/'는 나눗셈을 의미하며 결과가 'float'로 나타납니다. '//'는 나눗셈을 의미하며 결과가 'int'로 나타납니다. >> 다른 언어랑 헷갈림

 

이렇게 간단한 문제도, 나는 복잡하게 구현하는 것 같다..