BaekJoon[C#]

기본 수학 1단계 1712

wny0320 2022. 10. 5. 19:38

백준 온라인 코딩 문제풀이

https://www.acmicpc.net/

 

Baekjoon Online Judge

Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다.

www.acmicpc.net

 

코드 참고

https://replit.com/@wny0320

 

wny0320 (박 상운)

Run code live in your browser. Write and run code in 50+ languages online with Replit, a powerful IDE, compiler, & interpreter.

replit.com

 

1712번에 대해 다룸

 


using System;
using System.Collections.Generic;
class Program
{
    static void Main(string[] args)
    {
        string[] Input = Console.ReadLine().Split();
        List<int> num = new List<int>();
        for(int i = 0; i < Input.Length; i++)
        {
            num.Add(Int32.Parse(Input[i]));
        }
        if(num[1]>=num[2])
        {
            Console.WriteLine(-1);
        }
        else
        {
            Console.WriteLine(num[0]/(num[2]-num[1])+1);
        }
    }
}

처음에는 반복문을 통해 작성하였지만 반복문으로 해결할 시 시간 초과가 뜨기 때문에 조건문과 식의 계산으로 바꿈

 

Input을 받고 Split하여 저장, 각각을 int형으로 형변환 후 num 리스트에 추가

 

만약 num[1](만드는데 드는 비용)이 num[2](파는 가격)보다 크거나 같은 경우 어떻게 하든 손익 분기점을 넘을 수 없음

 

따라서 그런 경우에 -1을 출력, 이외에는 num[2] - num[1](하나 만들시 보는 이익)이 num[0](초기 비용)을 넘는 갯수를 나눠서 알아봄

 

몫만 빼오기 때문에 나누어 떨어지면 손익이 0일때, 나머지가 남는 경우 손해가 최소화 될 때이므로 +1을 해주어 출력

'BaekJoon[C#]' 카테고리의 다른 글

기본 수학 1단계 2869  (0) 2022.10.10
기본 수학 1단계 2292  (0) 2022.10.06
문자열 단계 1316  (0) 2022.10.04
문자열 단계 2941  (0) 2022.10.03
문자열 단계 5622  (0) 2022.09.28