๐Ÿ‘ฉ‍๐Ÿ’ปProgramming/Coding Test

[C#] [BOJ#2751] ๋‹ฌํŒฝ์ด๋Š” ์˜ฌ๋ผ๊ฐ€๊ณ  ์‹ถ๋‹ค

taesooya 2022. 8. 13. 16:50

https://www.acmicpc.net/problem/2869

 

2869๋ฒˆ: ๋‹ฌํŒฝ์ด๋Š” ์˜ฌ๋ผ๊ฐ€๊ณ  ์‹ถ๋‹ค

์ฒซ์งธ ์ค„์— ์„ธ ์ •์ˆ˜ A, B, V๊ฐ€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด์„œ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ B < A ≤ V ≤ 1,000,000,000)

www.acmicpc.net

 

My Solution

  • ๋งˆ์ง€๋ง‰์œผ๋กœ ์˜ฌ๋ผ๊ฐ„ ํ›„์—๋Š” ๋‚ด๋ ค๊ฐˆ ์ผ์ด ์—†๋‹ค...
  • ๋‹ฌํŒฝ์ด๋Š” ํ•˜๋ฃจ์— a๋ฏธํ„ฐ๋ฅผ ์˜ฌ๋ผ๊ฐ€๊ณ , b๋ฏธํ„ฐ๋ฅผ ๋ฏธ๋„๋Ÿฌ์ง€๋‹ˆ, ํ•˜๋ฃจ์— ์ด a - b๋ฏธํ„ฐ๋ฅผ ์˜ฌ๋ผ๊ฐ„๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์—ฌ์ •์ด ๋๋‚˜๋Š” ๋‚ ์—๋Š” b๋ฏธํ„ฐ ๋ฏธ๋„๋Ÿฌ์ง€๋Š” ๋ถ€๋ถ„์ด ์—†๋Š” ๊ฒƒ์ด๋‹ˆ, ๊ฒฐ๊ณผ์ ์œผ๋กœ v - b๋ฏธํ„ฐ๋ฅผ ์˜ฌ๋ผ๊ฐ€๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด a - b๋ฏธํ„ฐ์”ฉ ์ญ‰์ญ‰ ์˜ฌ๋ผ๊ฐ€์„œ v - b๋ฏธํ„ฐ๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ๊ฑฐ๋ฆฌ๊ฐ€ ๋‚จ์€ ๋‚ ์— ์˜ฌ๋ผ๊ฐ€๋ฉด ๋์ด ๋‚ฉ๋‹ˆ๋‹ค. ๋งŒ์ผ (v - b)๊ฐ€ ์ •ํ™•ํžˆ (a - b)๋กœ ๋‚˜๋ˆ„์–ด๋–จ์–ด์ง€์ง€ ์•Š๋Š”๋‹ค๋ฉด, ๋ชซ์— 1์„ ๋”ํ•œ ๊ฐ’์ด ์ •๋‹ต์ด ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ (v - b)๊ฐ€ ์ •ํ™•ํžˆ (a - b)๋กœ ๋‚˜๋ˆ„์–ด๋–จ์–ด์ง„๋‹ค๋ฉด ํ•˜๋ฃจ๋ฅผ ๋” ๊ณ„์‚ฐํ•  ํ•„์š”๊ฐ€ ์—†์–ด์ง‘๋‹ˆ๋‹ค. ์ด๋ฅผ ๊ฐ์•ˆํ•ด์„œ ์ฒ˜์Œ๋ถ€ํ„ฐ v - b์— 1์„ ๋” ๋นผ๊ณ  ๋‚˜๋ˆˆ ๋’ค์—, ๋ฌด์กฐ๊ฑด 1์„ ๋”ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ •๋‹ต์„ ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ˆ˜ํ•™,,, ์ˆ˜ํ•™์ด ๋ฌธ์ œ๋„ค

using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] nums = Array.ConvertAll<string, int>(Console.ReadLine().Split(), int.Parse);
            int go = nums[0];
            int back = nums[1];
            int goal = nums[2] - nums[0];

            Console.WriteLine((goal % (go - back) == 0) ? 1+ (goal / (go - back)) : 2 + goal / (go - back));

        }
    }
}