๊ธฐ๋ก๋ฐฉ

BOJ_1072 : ๊ฒŒ์ž„ ๋ณธ๋ฌธ

CodingTest/Java

BOJ_1072 : ๊ฒŒ์ž„

Soom_1n 2023. 1. 4. 22:53

๐Ÿ‘‰ ๋ฌธ์ œ๋งํฌ

 

1072๋ฒˆ: ๊ฒŒ์ž„

๊น€ํ˜•ํƒ์€ ์ง€๊ธˆ ๋ชฐ๋ž˜ Spider Solitaire(์ŠคํŒŒ์ด๋” ์นด๋“œ๋†€์ด)๋ฅผ ํ•˜๊ณ  ์žˆ๋‹ค. ํ˜•ํƒ์ด๋Š” ์ด ๊ฒŒ์ž„์„ ์ด๊ธธ ๋•Œ๋„ ์žˆ์—ˆ์ง€๋งŒ, ์งˆ ๋•Œ๋„ ์žˆ์—ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€์˜ ์‹œ์„ ์ด ๋Š๊ปด์ง„ ํ˜•ํƒ์ด๋Š” ๊ฒŒ์ž„์„ ์ค‘๋‹จํ•˜๊ณ  ์ฝ”๋”ฉ์„ ํ•˜๊ธฐ ์‹œ

www.acmicpc.net



๐Ÿ”ธ ๋ฌธ์ œ ๋ถ„์„ ๐Ÿ”ธ

  • ์ด ๊ฒŒ์ž„ ํšŸ์ˆ˜ x์™€ ์Šน๋ฆฌ ์ˆ˜ y๊ฐ€ ์ž…๋ ฅ๋œ๋‹ค.
  • ์Šน๋ฅ  z๋Š” y/x*100 ์—์„œ ์†Œ์ˆ˜์ ์„ ๋ฒ„๋ฆฐ๋‹ค.
  • ์Šน๋ฆฌ ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ตœ์†Œ ๋ช‡ ๋ฒˆ์˜ ๊ฒŒ์ž„์„ ํ•ด์•ผ z๊ฐ€ ๋ณ€ํ• ์ง€ ์ถœ๋ ฅํ•œ๋‹ค.
    • ๊ฐ’์ด ์˜ฌ๋ผ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€๋Š” 99.9999...์ด๋ฏ€๋กœ, z์˜ ์ดˆ๊ธฐ๊ฐ’์ด 99์™€ 100์ผ๋•Œ๋Š” ๋ณ€ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ -1์„ ์ถœ๋ ฅํ•œ๋‹ค.

๐Ÿ”ธ ์ฝ”๋“œ ๐Ÿ”ธ

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        double x = sc.nextDouble();
        double y = sc.nextDouble();

        double preZ = Math.floor(100*y/x);
        double nextZ = 0;

        if (preZ >= 99)
            System.out.println(-1);
        else {
            int count = 0;
            while (nextZ <= preZ) {
                count++;
                nextZ = Math.floor(100*++y/++x);
            }
            System.out.println(count);
        }
    }
}

๐Ÿ”ธ ์ฝ”๋“œ ํ•ด์„ ๐Ÿ”ธ

  • x์™€ y๋ฅผ doubleํ˜•์œผ๋กœ ์ž…๋ ฅ๋ฐ›์•„ ์ดˆ๊ธฐ z๊ฐ’์ธ preZ๋ฅผ ์ €์žฅํ•œ๋‹ค.
  • preZ๊ฐ€ 99์ด์ƒ์ด๋ฉด ๋ณ€ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ -1์„ ์ถœ๋ ฅํ•œ๋‹ค.
  • preZ๊ฐ€ 99๋ฏธ๋งŒ์ด๋ฉด nextZ๊ฐ€ preZ๋ณด๋‹ค ์ปค์งˆ ๋–„ ๊นŒ์ง€ ๊ณ„์‚ฐ์„ ๋ฐ˜๋ณตํ•œ๋‹ค.
    • ์นด์šดํŠธ๋ฅผ 1 ์ฆ๊ฐ€์‹œํ‚จ๋‹ค.
    • y์™€ x๋ฅผ 1 ์ฆ๊ฐ€์‹œํ‚ค๊ณ  z๋ฅผ ๋‹ค์‹œ ๊ณ„์‚ฐํ•ด์„œ nextZ์— ์ €์žฅํ•œ๋‹ค.
  • count๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

๐Ÿ”ธ end ๐Ÿ”ธ

  • z๋ฅผ ๊ณ„์‚ฐํ•  ๋•Œ y/x*100์œผ๋กœ ํ•˜๋ฉด ํ‹€๋ฆฌ๊ณ  100*y/x๋กœ ํ•˜๋ฉด ์ •๋‹ต์ฒ˜๋ฆฌ๊ฐ€ ๋œ๋‹ค.
    • ์•„๋งˆ doubleํ˜•์˜ ๊ณ„์‚ฐ์—์„œ ์ •ํ™•๋„์— ์˜ค์ฐจ๊ฐ€ ์ƒ๊ธฐ๋Š” ๊ฒƒ ๊ฐ™๋‹ค.
  • ์ด ๋ฌธ์ œ๋ฅผ ์ด๋ถ„ํƒ์ƒ‰์œผ๋กœ ํ’€์ดํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ํŒŒ๋ผ๋ฉ”ํŠธ๋ฆญ์Šค ์„œ์น˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•ด์„œ ํฌ์ŠคํŒ…์„ ์ฐพ์•„๋ณด์•˜๋‹ค.
    • ์•„๋งˆ x์˜ ๋ฒ”์œ„ 1๋ถ€ํ„ฐ 10์–ต๊นŒ์ง€ ์ค‘ preZ<nextZ๊ฐ€ ๋˜๋Š” ์ตœ์†Œ๊ฐ’์„ ์ฐพ์œผ๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค.

728x90

'CodingTest > Java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

BOJ_1183 : ์•ฝ์†  (0) 2023.01.09
BOJ_1166 : ์„ ๋ฌผ  (0) 2023.01.06
BOJ_1063 : ํ‚น  (0) 2023.01.04
BOJ_1057 : ํ† ๋„ˆ๋จผํŠธ  (0) 2023.01.01
BOJ_1004 : ์–ด๋ฆฐ ์™•์ž  (0) 2022.12.31