< 백준 1712번 손익분기점 >
- 회사의 고정비용과 물건 하나 당 가변비용, 판매가격이 주어질 때 손익분기점을 넘어 수익이 발생하기 위한 최소 판매수량을 찾는 문제.
- 반복문을 돌려 수익이 발생하는 시점을 알아낼 수도 있지만 판매수량을 찾는 수식만 세우면 반복문 없이 쉽게 풀 수 있다.
import java.io.*;
import java.util.*;
class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer sc = new StringTokenizer(br.readLine(), " ");
int fixed = Integer.parseInt(sc.nextToken());
int cost = Integer.parseInt(sc.nextToken());
int price = Integer.parseInt(sc.nextToken());
int count = (price<=cost) ? -1 : (fixed/(price-cost)+1);
System.out.println(count);
}
}
< 백준 1011번 Fly me to the Alpha Centuari >
- x에서 y로 가는 데 필요한 이동 횟수를 구하는 문제.
- n번째의 이동거리는 n-1번째의 이동거리와 같거나 ±1만 가능하다.
- 규칙을 찾아보면, 횟수가 2씩 늘어날수록 이동거리 증가량은 1씩 증가한다. 이 증가량을 adder로 두고 해당 거리가몇 번의 add로 완성되는지 찾아내었다.
import java.util.*;
class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
for(int i = 0; i<num; i++){
int x = sc.nextInt();
int y = sc.nextInt();
sc.nextLine();
int result = 0;
int adder = 1;
int dif = y-x;
while(dif>0){
dif -= adder;
result++;
if(dif>0){
dif -= adder++;
result++;
}
}
System.out.println(result);
}
}
}
'JAVA' 카테고리의 다른 글
NumPy 초기화 함수 정리 - random, arange, zeros, ones (0) | 2020.10.24 |
---|---|
자바 String 공백 처리, 빈도 계산 (백준 1152, 1157) (0) | 2020.06.04 |
백준 한수의 개수 구하기 (백준 1065 자바) (0) | 2020.05.26 |
자바 평균 구하기, 정수 실수 형변환(백준 1546, 4344 정답 코드) (0) | 2020.05.26 |
자바 최솟값, 최댓값 구하기 (백준 배열 2562, 10818 코드) (0) | 2020.05.22 |