백준 온라인 코딩 문제풀이
Baekjoon Online Judge
Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다.
www.acmicpc.net
코드 참고
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 |