본문 바로가기
Development/Baekjoon

[C#] 24262번: 알고리즘 수업 - 알고리즘의 수행 시간 1

by Mobics 2025. 9. 28.

목차


    백준 단계별로 풀어보기

    25.09.28

    11단계: 시간 복잡도


    24262번: 알고리즘 수업 - 알고리즘의 수행 시간 1

    문제 링크 : https://www.acmicpc.net/problem/24262

     

    문제 풀이

    >> 문제에 나온 알고리즘 해석

    : 문제에 나온 MenOfPassion 알고리즘은 다음과 같다.

    MenOfPassion(A[], n) {
        i = ⌊n / 2⌋;
        return A[i]; # 코드1
    }
    • 배열 'A[]' 과 'n'을 입력받는다.
    • i 는 n / 2의 바닥함수 값이다.
    • 배열 A의 i번째 값을 반환한다.

     

    ※ 천장함수(ceil)과 바닥함수(floor)

    - 천장함수(ceil) : ⌈ x ⌉ 

     

    : x보다 크거나 같은 가장 작은 정수

    ex) x = 3일 때, ⌈ x ⌉ = 3

    ex) x = 3.7일 때, ⌈ x ⌉ = 4

     

    - 바닥함수(floor) : ⌊ x ⌋

    : x보다 작거나 같은 가장 큰 정수

    ex) x = 3일 때, ⌊ x ⌋ = 3

    ex) x = 3.7일 때, ⌊ x ⌋ = 3

     

    - 참고 링크

     

    1-1. 천정함수(ceil)와 바닥함수(floor)

    ## **천정함수(ceil)**: $\text{ceil}(x) = \left \lceil x \right \rceil$ $x$가 정수인 경우, $\left \lcei…

    wikidocs.net

     

    ※ Math 클래스에 존재하는 ceil과 floor 함수

     

    Math.Ceiling 메서드 (System)

    지정된 수보다 크거나 같은 최소 정수 값을 반환합니다.

    learn.microsoft.com

     

     

    Math.Floor 메서드 (System)

    지정된 숫자보다 작거나 같은 가장 큰 정수 값을 반환합니다.

    learn.microsoft.com

     

    >> 풀이

    : n에 어떤 값을 입력하든 배열 A의 i번째 값을 1번 반환하면 알고리즘이 종료된다. 따라서 코드1의 수행 횟수는 무조건 1번, 최고차항의 차수는 무조건 0이다.

    1. 입력값은 받아야 하기 때문에 입력값을 받는다.
    2. 1과 0을 줄바꿈과 함께 출력한다.

     

    정답 코드

    class Backjoon
    {
        static void Main(string[] args)
        {
            string input = Console.ReadLine();
            Console.Write("1\n0");
        }
    }