[백준] 24313번 : 알고리즘 수업 - 점근적 표기 1 (JAVA)

2026. 3. 16. 17:06·코테(Solved.ac + Programmers)
728x90

🔗 문제 개요

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


📌 문제 개요

함수 f(n) = a1\*n + a0 이 주어졌을 때,

 

f(n) ≤ c\*n 을 만족하여 O(n) 인지 판단하는 문제이다.

 

조건 : n ≥ n0

 

이 조건을 만족하는 모든 n에 대해 성립해야 한다.


📌 접근 방법

Big-O 정의를 그대로 코드로 구현하면 된다.

 

조건 : f(n) ≤ c\*n

 

여기서 f(n) = a1\*n + a0 이므로 a1\*n + a0 ≤ c\*n 이 된다.

 

그리고 문제에서 n ≥ n0 이므로 n = n0일 때 성립하는지만 확인하면 된다.


📌 핵심 아이디어

a1\*n + a0 ≤ c\*n  
a0 ≤ (c - a1)\*n

 

 

1️⃣ a1 ≤ c
2️⃣ a1*n0 + a0 ≤ c*n0

 

이 두 조건을 만족하면 O(n) 이다.


📌 전체 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int a1 = Integer.parseInt(br.readLine());
        int a0 = Integer.parseInt(br.readLine());
        int c = Integer.parseInt(br.readLine());
        int n0 = Integer.parseInt(br.readLine());

        if (a1 * n0 + a0 <= c * n0 && a1 <= c) {
            System.out.println(1);
        } else {
            System.out.println(0);
        }
    }
}

📌 정리

이 문제는 점근적 표기 O(n)의 정의를 이해하고 있는지 확인하는 문제이다.

핵심 조건은 다음 두 가지이다.

a1 ≤ c
a1*n0 + a0 ≤ c*n0

 

이 두 조건을 만족하면 O(n) 이므로 1을 출력하고, 만족하지 않으면 0을 출력한다

728x90

'코테(Solved.ac + Programmers)' 카테고리의 다른 글

[백준] 2161번 : 카드1 (JAVA)  (0) 2026.03.18
[백준] 2740번 : 행렬 곱셈 (JAVA)  (0) 2026.03.17
[백준] 2846번 : 오르막길 (JAVA)  (0) 2026.03.16
[백준] 10798번 : 세로읽기 (JAVA)  (0) 2026.03.14
[백준] 11728번 : 배열 합치기 (JAVA)  (0) 2026.03.13
'코테(Solved.ac + Programmers)' 카테고리의 다른 글
  • [백준] 2161번 : 카드1 (JAVA)
  • [백준] 2740번 : 행렬 곱셈 (JAVA)
  • [백준] 2846번 : 오르막길 (JAVA)
  • [백준] 10798번 : 세로읽기 (JAVA)
PUSH → MERGE → DEPLOY
PUSH → MERGE → DEPLOY
데이터 흐름과 운영 자동화를 설계하는 백엔드 개발자
  • PUSH → MERGE → DEPLOY
    Coding Dongin
    PUSH → MERGE → DEPLOY
  • 전체
    오늘
    어제
    • MEUN
      • 코테(Solved.ac + Programmers)
      • BootCamp(JAVA)
      • JAVA
      • SpringBoot
      • JavaScript
      • JSP
      • DB(SQL)
      • React
      • HTML_CSS
      • jQuery
      • SCSS
      • GSAP
      • 설치 + 꿀팁
      • 정보처리기사 오답노트
      • 정보처리기사 기출문제
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GIT
  • 공지사항

  • 인기 글

  • 태그

    백준
    level1
    실기
    정렬
    자바
    solved.ac
    level0
    문자열
    springboot
    수학
    정처기오답노트
    정처기
    자료구조
    배열
    정보처리기사 실기 기출문제
    완전탐색
    시뮬레이션
    브루트포스
    java
    Level2
    코딩테스트
    백엔드개발자
    프로그래머스
    구현
    정보처리기사
    피보나치
    알고리즘
    기출문제
    dp
    정처기실기
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.4
PUSH → MERGE → DEPLOY
[백준] 24313번 : 알고리즘 수업 - 점근적 표기 1 (JAVA)
상단으로

티스토리툴바