[BOJ] 1072. ๊ฒŒ์ž„ (๐Ÿฅˆ, ์ด๋ถ„ ํƒ์ƒ‰/์ˆ˜ํ•™)

lemythe423ยท2024๋…„ 2์›” 26์ผ
0

BOJ ๋ฌธ์ œํ’€์ด

๋ชฉ๋ก ๋ณด๊ธฐ
117/133
post-thumbnail

๐Ÿ”—

ํ’€์ด

์•„๋ž˜ 2๊ฐ€์ง€๋งŒ ๊ณ ๋ คํ•˜๋ฉด ์‰ฝ๊ฒŒ ํ’€๋ฆฌ๋Š” ์ด๋ถ„ํƒ์ƒ‰์ธ๋ฐ ๋‘˜ ๋‹ค ๋ชปํ•ด์„œ ํ‹€๋ ธ๋‹ค.

  1. ์Šน๋ฅ ์„ ๊ตฌํ•  ๋•Œ ์†Œ์ˆ˜์ ์„ ๋ฒ„๋ฆฌ๊ธฐ ์œ„ํ•ด ๊ณฑํ•ด์•ผ ํ•˜๋Š” 100์˜ ์œ„์น˜
  2. -1์ด ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ

์Šน๋ฅ ์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” X์™€ Y ์ž๋ฃŒํ˜•์„ double ๋กœ ๋ณ€๊ฒฝํ•ด์„œ ๊ตฌํ•ด์•ผ ํ•˜๋Š”๋ฐ ์ด๋•Œ ์†Œ์ˆ˜์  2์ž๋ฆฌ๊นŒ์ง€๋งŒ ๊ตฌํ•˜๊ณ  ๋‚˜๋จธ์ง€๋Š” ๋ฒ„๋ฆฌ๋ ค๋ฉด 100์„ ๊ณฑํ•ด์•ผ ํ•œ๋‹ค. ๋ณดํ†ต (Y/X) * 100 ์ด๋ ‡๊ฒŒ ๊ตฌํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์ด๋ ‡๊ฒŒ ๋˜๋ฉด X๊ฐ€ Y์— ๋น„ํ•ด ๋„ˆ๋ฌด ํฐ ๊ฒฝ์šฐ ์ œ๋Œ€๋กœ ๊ตฌํ•ด์ง€์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค๊ณ ? ํ•œ๋‹ค. ์•„๋งˆ ์ด๋ฏธ 0์ด ๋˜์–ด๋ฒ„๋ ค์„œ 100์„ ๊ณฑํ•ด๋„ ์†Œ์šฉ์ด ์—†๋‚˜๋ด„.. ๊ทธ๋ž˜์„œ Y ์— ๊ฐ€๊น๊ฒŒ 100์„ ๊ณฑํ•ด์•ผ ์ œ๋Œ€๋กœ ๊ตฌํ•ด์ง„๋‹ค.

๋‘ ๋ฒˆ์งธ๋Š” ์•„๋ฌด๋ฆฌ ์Šน๋ฆฌ๋ฅผ ํ•ด๋„ ์ ˆ๋Œ€ ์ด๊ธธ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ์ธ๋ฐ ์Šน๋ฅ ์ด ์ด๋ฏธ 99ํผ ์ด์ƒ์ธ ๊ฒฝ์šฐ๋Š” ๋” ๋†’์€ ๊ฒŒ 100๋ฐ–์— ์—†๋Š”๋ฐ ์ด๋ฏธ ์Šน๋ฅ ์ด 99๋ผ๋Š” ๊ฑด ๋ช‡ ํŒ ์กŒ๋‹ค๋Š” ๊ฑฐ๊ณ  ์Šน๋ฅ ์ด 100์ด๋ผ๋Š” ๊ฑด ๋‹จ ํ•œ ๋ฒˆ๋„ ์ง€์ง€ ์•Š์•„์•ผ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ์Šน๋ฅ ์ด๋ฏ€๋กœ 99์—์„œ 100์ด ๋˜๋Š” ๊ฑด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

import java.util.*;
import java.io.*;

public class Main {
    static int transform(double X, double Y) {
        return (int) ((100 * Y / X));
    }
    
    public static void main(String[] args) throws IOException {
        Scanner sc = new Scanner(System.in);
        long X = sc.nextLong();
        long Y = sc.nextLong();

        int oddOfWinning = transform(X, Y);
        if (oddOfWinning >= 99) {
            System.out.println(-1);
        } else {
            long high = Long.MAX_VALUE;
            long low = 0;
    
            while (low <= high) {
                long mid = (low + high) / 2;
    
                if (transform(X + mid, Y + mid) > oddOfWinning) {
                    high = mid - 1;
                } else {
                    low = mid + 1;
                }
            }
    
            System.out.println(low);
        }
    }
}
profile
์•„๋ฌด๋ง์ด๋‚˜ํ•˜๊ธฐ

0๊ฐœ์˜ ๋Œ“๊ธ€