HelloMinchan
처음처럼
HelloMinchan
LinkedIn
전체 방문자
오늘
어제
  • 분류 전체보기 (306)
    • Backend (4)
      • NestJS (1)
      • Express (1)
      • Spring (2)
    • Infrastructure (1)
      • AWS (1)
    • Frontend (1)
      • Next.js (1)
    • Language & Runtime (4)
      • Java (2)
      • Node.js (2)
    • Computer Science (8)
      • Computer Networks (3)
      • Operating Systems (4)
      • OOP (1)
    • 독서 (4)
      • 데이터 중심 애플리케이션 설계 (3)
      • 객체지향의 사실과 오해 (1)
    • 회고 (4)
      • Project (2)
      • Career (2)
    • Deprecated (280)

채널

  • GitHub
  • LinkedIn

최근 글

태그

  • 프로그래머스C++
  • 백준Python
  • 백준C++
  • 프로그래머스Python
  • 데이터베이스
  • Baekjoon Online Judge
  • 프로그래머스
  • 백준
  • back-end
  • 백엔드
  • 개발자
  • 프로그래밍
  • front-end
  • Database
  • 알고스팟
  • 코딩
  • programmers
  • 알고스팟Python
  • 백준Go
  • Algospot

최근 댓글

인기 글

hELLO
HelloMinchan

처음처럼

[Baekjoon Online Judge] 백준 1712번 손익분기점(C++, Python)
Deprecated

[Baekjoon Online Judge] 백준 1712번 손익분기점(C++, Python)

2020. 4. 7. 23:24

© 2020 All Rights Reserved. 주식회사 스타트링크

[Baekjoon Online Judge] 백준 1712번 손익분기점

(C++, Python)

(글쓴날 : 2020.04.07)

 


* Baekjoon Online Judge, 백준 1712번 문제 C++, Python 언어 풀이입니다.

* 소스 코드의 저작권은 글쓴이에게 있습니다.


 

 

백준 1712번 손익분기점


1) 문제

문제 링크 : https://www.acmicpc.net/problem/1712

 

1712번: 손익분기점

월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 인건비 등 총 B만원의 가변 비용이 든다고 한다. 예를 들어 A=1,000, B=70이라고 하자. 이 경우 노트북을 한 대 생산하는 데는 총 1,070만원이 들며, 열 대 생산하는 데는 총 1,700만원이 든다. 노트북 가격이 C만원으로 책정되었다고 한다. 일반적으로

www.acmicpc.net


2) 풀이 과정

고정 비용, 가변 비용, 판매 비용이 주어질 때 손익분기점을 넘기는 판매량을 구하는 문제입니다.

언뜻 보면 엄청 쉬운 문제이지만, 시간제한이 0.35초여서 단순 반복문으로 접근했다간 시간 초과가 발생하므로 좀 더 머리?를 쓰셔야 합니다.

 

저의 경우, 판매량을 x로 놓고 고정 비용 + 가변 비용 * x < 판매 비용 * x의 수식을 세워 접근했습니다.

따라서, x > 고정 비용 / 판매 비용 - 가변 비용이라는 수식이 성립하므로 반복문을 돌리지 않고 판매량을 구했으며, 손익분기점을 넘기는 판매량을 출력해야 하므로 구한 x에 1을 더해 출력했습니다.

단, x를 구하기에 앞서 가변 비용이 판매 비용보다 높거나 같을 경우 손익분기점이 존재하지 않게 되므로, 해당 경우에 -1을 출력하는 조건문을 먼저 적용해 예외 처리하여 문제를 해결했습니다.


3) 코드

 

* C++ 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
using namespace std;
 
int main(void)
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
 
    int a, b, c;
    cin >> a >> b >> c;
 
    if (b >= c)
        cout << -1;
    else
        cout << (a / (c - b)) + 1;
 
    return 0;
}

* Python 코드

1
2
3
4
5
6
7
8
import sys
input = sys.stdin.readline
 
a, b, c = map(int, input().split())
if b >= c :
    print(-1)
else:
    print(-a // (b - c) + 1)

 

저작자표시 비영리 변경금지 (새창열림)

'Deprecated' 카테고리의 다른 글

[Baekjoon Online Judge] 백준 2580번 스도쿠(C++, Python)  (0) 2020.04.10
[Baekjoon Online Judge] 백준 2585번 경비행기(C++, Python)  (0) 2020.04.09
[Baekjoon Online Judge] 백준 1939번 중량제한(Python)  (0) 2020.04.07
[Baekjoon Online Judge] 백준 3079번 입국심사(Python)  (0) 2020.04.07
[Baekjoon Online Judge] 백준 2110번 공유기 설치(Python)  (0) 2020.04.07
    'Deprecated' 카테고리의 다른 글
    • [Baekjoon Online Judge] 백준 2580번 스도쿠(C++, Python)
    • [Baekjoon Online Judge] 백준 2585번 경비행기(C++, Python)
    • [Baekjoon Online Judge] 백준 1939번 중량제한(Python)
    • [Baekjoon Online Judge] 백준 3079번 입국심사(Python)
    HelloMinchan
    HelloMinchan
    Though you should not fear failure, You should do your very best to avoid it.

    티스토리툴바