문제 링크
주의사항
- JAVA를 사용하여 프로그램을 사용하였습니다.
- 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다.
public class Main{
public static void main(String[] args){
}
}
문제 설명
접근 방법
- BufferedReader를 사용하여 입력 값을 받았습니다.
- StringTokenizer를 이용하여 입력 값을 띄어쓰기 기준으로 나누었습니다.
- 손익분기점을 구하는 break_even_point 함수를 만들었습니다.
- 가변 비용이 가격보다 크거나 같으면 손익분기점이 일어나지 않는다.
- 고정 비용/(가격-가변비용) + 1 을 구하면 손익분기점을 구할 수 있다.
- break_even_point 함수에 결과를 result에 받았습니다.
- result를 bw에 저장하였습니다.
- BufferedWriter를 통해 저장된 결과를 출력하였습니다.
결과 코드
import java.util.*;
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//입력 값을 받는 BufferedReader
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
//결과를 출력하는 BufferedWriter
StringTokenizer st = new StringTokenizer(br.readLine()," "); //입력 값 띄어쓰기 기준 나누기
long fixMoney = Integer.parseInt(st.nextToken()); //고정비용
long variableMoney = Integer.parseInt(st.nextToken()); //가변 비용
long price = Integer.parseInt(st.nextToken()); //가격
long result = break_even_point(fixMoney,variableMoney,price); //함수 사용으로 결과 받기
bw.write(result + "\n"); //결과 bw에 저장
bw.flush(); //결과 출력
bw.close();
br.close();
}
public static long break_even_point(long fix,long variable,long price) { //손익분기점 함수
if(variable>=price) //가변비용이 가격보다 크거나 같으면 손익분기점이 일어나지 않음
return -1;
long result = fix/(price-variable)+1; //손익 분기점 구하는 식
return result; //결과 반환
}
}
'백준' 카테고리의 다른 글
[백준] 단계별로 풀어보기(단계:8,기본수학1,JAVA)1193번, 분수찾기 (0) | 2021.12.29 |
---|---|
[백준] 단계별로 풀어보기(단계:8,기본수학1,JAVA)2292번, 벌집 (0) | 2021.12.28 |
[백준] 단계별로 풀어보기(단계:7,문자열,JAVA)1316번, 그룹 단어 체커 (0) | 2021.12.25 |
[백준] 단계별로 풀어보기(단계:7,문자열,JAVA)2941번, 크로아티아 알파벳 (0) | 2021.12.25 |
[백준] 단계별로 풀어보기(단계:7,문자열,JAVA)5622번, 다이얼 (0) | 2021.12.22 |
댓글