백준 UCPC에서 가장 쉬운 문제 번호는? (99클럽 코딩테스트 27일차 TIL)

KIMYEONGJUN·2024년 4월 24일
0
post-thumbnail

목표

문제를 계속 옮겨가면서 풀다보니깐 적응을 못하는것같다. 문제를 봤을때 적응할 수 있게 하는게 목표이다.

문제

내가 생각했을때 문제에서 원하는부분

첫 줄에 UCPC 개최 연도 y가 주어집니다. (2018<= y <= 2022)  
y년도 UCPC 예선의 출제진이 의도한 가장 쉬운 문제의 번호를 영어 대문자 알파벳 한 글자로 출력하세요.

내가 이 문제를 보고 생각해본 부분

UCPC 2018 예선: A번, 수학은 체육과목 입니다
UCPC 2019 예선: A번, 수학은 체육과목 입니다 2
UCPC 2020 예선: A번, 수학은 비대면강의입니다
UCPC 2021 예선: A번, 수학은 체육과목 입니다 3

문제에 보면 이부분이 있는데 2018년 ~ 2021년 해당하면 각각 A를 출력해줬다.

코드로 구현

package baekjoon.baekjoon_18;

import java.util.Scanner;

// 백준 25311번 문제
public class Main629 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int year = sc.nextInt();

        if(year == 2018) {
            System.out.println("A");
        }
        else if(year == 2019) {
            System.out.println("A");
        }
        else if(year == 2020) {
            System.out.println("A");
        }
        else if(year == 2021) {
            System.out.println("A");
        }
        else {
            System.out.println("A");
        }
        sc.close();
    }
}

시간복잡도 O(1)

장점
입력 데이터 크기와 무관하게 항상 일정한 시간이 소요된다. 입력이 커져도 실행 속도가 변하지 않으므로 안정적이다.
실행 속도가 매우 빠르다. 크기가 큰 입력데이터에서도 순식간에 결과를 계산할 수 있다.

단점
입력 데이터를 모두 검사하지 않고 결과를 출력하므로, 정확도가 떨어질 수 있다.
복잡한 문제나 많은 경우의 수를 다루기 어렵다. 문제 자체가 단순해야 O(1)으로 해결할 수 있다.
입력 데이터에 따라 메모리 사용량이 달라질 수 있다.

마무리

아무래도 최근에 프로그래머스에서 백준으로 옮겨가면서 계속 문제를 풀다보니깐 문제에서 설명이 너무 많이나와서 적응이하기가 조금 힘들었다. 아직 문제를 푸는게 익숙하지 않아서 그런것같다.

profile
Junior backend developer

0개의 댓글