백준 온라인 코딩 문제풀이
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
24313
빅오 표기법을 이용해서 식을 계산하는 문제
using System;
namespace StudyCS
{
class Program
{
public static void Main(string[] args)
{
int[] aArray = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
int a1 = aArray[0];
int a0 = aArray[1];
int c = int.Parse(Console.ReadLine());
int n0 = int.Parse(Console.ReadLine());
// 계산식 a1 * n + a0 <= c * n
if (c < a1) // 이 경우 n0가 0일수 없으므로 a0가 0이더라도 (a1 - c) * n 이 양수로 성립이 불가능
{
//(a1-c) * n + a0 <= 0
Console.WriteLine(0);
}
else if(c == a1) // 이 경우 a0 <= 0으로 a0가 0인 경우 항등식으로 성립
{
if (a0 <= 0)
Console.WriteLine(1);
else
Console.WriteLine(0);
}
else
{
//c > a1인 경우, 식이 성립한다면 만족
if (a0 <= c * n0 - a1 * n0)
Console.WriteLine(1);
else
Console.WriteLine(0);
}
}
}
}
식을 풀면서 주석으로 식에 대한 답들을 적었다.
1. c < a1인 경우 식이 성립할 수 없으며
2. c==a1인 경우 a0가 음수일때 성립가능
- 조건인 "절대값" a는 0이상 100이하, 즉 a값들은 음수값이 가능
- 초반에 절대값을 못보고 a0가 0일때 성립으로 해서 오류가 났었다.
3. c > a1인 경우 식을 만족한다면 성립
- 변형한 식 a0 / (c - a1)<= n, c > a1이기 때문에 양수이므로 부등호는 유지
- n >= n0이기 때문에 위의 식에서 a0 / (c - a1)<= n0 <= n인 것으로 생각할 수 있다.
- n의 최소값인 n0이 식을 만족하면 모든 n이 만족한다고 생각하면 된다.
'BaekJoon[C#]' 카테고리의 다른 글
Dynamic Programing - 1463 (0) | 2025.03.26 |
---|---|
자료구조 9012 (0) | 2025.03.25 |
백준 10988, 9506 (0) | 2023.12.05 |
정렬 단계 2751 (0) | 2022.12.27 |
정렬 단계 25305 (0) | 2022.12.26 |