24313번

2023. 2. 22. 08:57·CS 이론/알고리즘
728x90

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

 

24313번: 알고리즘 수업 - 점근적 표기 1

f(n) = 7n + 7, g(n) = n, c = 8, n0 = 1이다. f(1) = 14, c × g(1) = 8이므로 O(n) 정의를 만족하지 못한다.

www.acmicpc.net

이 문제는 점근적 표기법에 대한 문제이다. 시간복잡도의 빅오 함수를 정의하는 것인데,

처음에는 너무 쉽다 생각해서 바로 구현하여 돌렸는데, 91퍼에서 틀려서 뭐가 문제인가 생각하게 만든 문제이다.

이유는 생각보다 간단했다. 내가 생각한 로직은 g(n0)>=f(n0)이 성립하면 된다고 생각했다.

하지만 여기서 생각할 것은 f(n)<=g(n)이다. 즉 모든 n에 대해서 성립해야하는 조건이라는 것이다.

n0에서는 성립하지만 n1에서는 성립하지 않을 수 있다는 것이다.

그래서 여기서 주어져야 하는 조건은 a1이 c보다 작거나 같아야한다는 조건이다.

이 조건을 부여하면 n이 증가함에 따라 n0와의 조건식 결과가 달라지지 않는다.

 

정답 코드는 아래와 같다.

package backjoon.b24313;

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

public class b24313 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int a1 = Integer.parseInt(st.nextToken());
        int a0 = Integer.parseInt(st.nextToken());

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

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

 

728x90

'CS 이론 > 알고리즘' 카테고리의 다른 글

2042번  (0) 2023.02.26
2293번  (0) 2023.02.25
9466번(사이클 찾기)  (0) 2023.02.21
10451번  (1) 2023.02.20
4963번  (0) 2023.02.18
'CS 이론/알고리즘' 카테고리의 다른 글
  • 2042번
  • 2293번
  • 9466번(사이클 찾기)
  • 10451번
Bello's
Bello's
개발하는 벨로
  • Bello's
    벨로의 개발일지
    Bello's
  • 전체
    오늘
    어제
    • 분류 전체보기 (199) N
      • 노예 일지 (7)
        • 스타트업 노예일지 (3)
      • CS 이론 (81)
        • 학과 수업 (4)
        • 알고리즘 (64)
        • 시스템 프로그래밍 (3)
        • 데이터 통신 (1)
        • 운영체제 (2)
        • 데이터베이스 (1)
      • project (3)
      • 나는 감자다. (4)
      • Spring (27)
      • 모각코 (45)
        • 절개와지조(모각코) (7)
        • 어쩌다보니 박준태가 조장이조 (11)
        • 어쩌다보니 박준태가 또 조장이조 (12)
      • LikeLion🦁 (20)
      • 캘리포니아 감자 (4)
      • OpenSource Contribute (1)
      • 우아한테크벨로 (1) N
        • 프리코스 회고록 (6)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    Spring
    프리코스
    8기
    나는 감자
    백준
    절개와지조
    어렵다
    자바
    모각코
    누적합
    회고록
    티스토리챌린지
    JPA
    뛰슈
    타임리프
    BFS
    DFS
    그래프 순회
    오블완
    감자
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
Bello's
24313번
상단으로

티스토리툴바