링크 → https://www.acmicpc.net/problem/1072
아영
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class boj1072 {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
long X = Integer.parseInt(st.nextToken());
long Y = Integer.parseInt(st.nextToken());
double Z = Math.floor(Y*100/X);
int answer = 0;
if(Z>=99) answer = -1;
else{
Z+=1;
answer= (int)Math.ceil((100*Y-Z*X)/(Z-100));
}
System.out.println(answer);
}
}
은영
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class baekjoon1072 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine()+" ");
long X = Integer.parseInt(st.nextToken());
long Y = Integer.parseInt(st.nextToken());
long Z = 100*Y/X;
if(Z>=99) {
System.out.println(-1);
}else {
long start = 1;
long end = X;
long mid=0;
long percent=0;
while(start<=end) {
mid = (start+end)/2;
percent = (Y+mid)*100/(X+mid);
if(percent>Z) {
end=mid-1;
}
else {
start=mid+1;
}
}
System.out.println(start);
}
}
}
건
용문
class BJ1072 {
private var X: Int = 0
private var Y: Int = 0
private var Z: Int = 0
private var answer: Int = -1
public func solve() {
readComponents()
calc()
printAnswer()
}
private func readComponents() {
let temp = readLine()!.split(separator: " ").map{ Int($0)! }
self.X = temp[0]
self.Y = temp[1]
self.Z = Y * 100 / X
}
private func calc() {
if Z >= 99 { return }
var low = 0
var high = 1000000000
while low <= high {
let mid = (low + high) / 2
let temp = (Y + mid) * 100 / (X + mid)
if Z != temp {
high = mid - 1
answer = mid
} else {
low = mid + 1
}
}
}
private func printAnswer() {
print(answer)
}
}
BJ1072().solve()