백준에서 처음으로 문제를 풀어봤다.
어느 문제부터 고민이었지만, 지금 백엔드 스쿨에서 배우고 있는 수학 부분에서 골라보았다.
일단, 처음 문제를 읽고 나서는 나름 쉽게 풀 수 있을 것이라고 생각이 들었지만,, 왜인지,,
이렇게나 많은 시행착오를 겪었다,,😂
내가 처음 생각했던 접근 방식은
무한루프를 돌려서 손익분기점이 되는 부분의 값을 출력하는 것이었는데, 아무리해도 틀렸다고만 말하니 너무 속상했다,,
public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int A = in.nextInt(); int B = in.nextInt(); int C = in.nextInt(); int i = 0; if(C <= B){ System.out.println("-1"); }else{ for(;;){ if(A + B*i < C*i){ System.out.println(i); break; }i++; } } } }
초반에는 예외처리를 안해서 틀린건가 싶어 예외처리까지 했는데도 계속 틀려서 다른 분들의 코드를 곁눈질로 확인해보니,
public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int A = in.nextInt(); int B = in.nextInt(); int C = in.nextInt(); if(C <= B){ System.out.println("-1"); }else{ int i = A/(C-B); System.out.println(i+1); } } }
이런 식으로 손익분기점에 해당하는 판매량(i) = 고정비용(A)/(판매비용(C)-가변비용(B)) 와 같이 공식을 사용하여 구현하신 분들이 많았다!
그래서 이 부분만 수정하여 제출했더니 드디어 맞았다고 해주는 것이었다,,
왜 먼저 구현했던 부분은 틀렸는지 아직도 모르겠지만,, 공부를 계속하다보면 깨닫는 순간이 오겠지,,,😅