[c++/알고리즘] 백준 1712 손익분기점

corncheese·2021년 7월 16일
0

알고리즘문제풀이

목록 보기
7/31
  • 체점 제출하고 예외케이스를 찾아 여러번 수정하며 풀었던 문제..


내가 작성한 코드

// 백준 1712 손익분기점

#include <iostream>
#include <string>
using namespace std;

int main(){
    int a, b, c, n=0;
    cin >> a >> b >> c;

    if((c-b) == 0 || (c-b)< 0) cout << "-1";
    else if(a==0 && (c-b)>0) cout << "1";
    else if(a!=0 && (c-b)>0) cout<< a/(c-b)+1;

    }
  • if문에 걸리는 경우를 좀 더 단순하게 생각하면 어땠을까, 아쉬운 문제이다.

더욱 간단하게 구현된 코드

#include <iostream>

using namespace std;

int main(void){
    int a, b, c;
    int n = 1;
    cin>> a >> b >> c;
    
    if(b >= c){
        cout << -1;
        return 0;
    }
    
    cout<< a/(c-b) + 1;
}
  • a가 0이던, 0보다 크던 b가 c보다 같거나 크면 손익분기점이 나올 수 없다.
    if(b >= c)일 경우 -1 출력;
  • 그 외에 a가 0 이더라도 상수로 나누면 결과가 0 이기 때문, 1을 더한 값을 손익분기점으로 출력

0개의 댓글