[백준 BOJ] 10768번 특별한 날 (C++/cpp)

2025. 1. 1. 17:55PS (Program Solving)/BOJ (백준)

문제 설명

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

 

백준 BOJ 10768번 특별한 날 문제 사진

 

접근 방법 - 기초적인 숫자 비교 연산

백준의 10768번 문제는 숫자 비교를 통하여 쉽게 해결할 수 있는 문제이다.

해당 문제는, 입력받은 월과 일에 대하여 특별한 날인 2월 18일 기점으로 전인지 후인지를 출력하면 되는 문제이다.

문제에서 제시하는 대로 "Before", "After" 그리고 당일인 경우에 출력하는 "Special" 중 하나를 출력하면 된다.

지문 자체는 매우 간단해서 더 자세한 설명은 생략하고자 한다.

혹여나 해당 문제를 해결하는 데에 어려움을 겪고 있다면, 아래의 설명과 코드를 참고해보길 바란다.

필자는 아래의 순서대로 코드를 작성하여 문제를 해결하였다.

 

코드의 실행 순서

1) 월과 일(m, d)에 대하여 입력받는다.

 

2) 아래처럼 값을 비교하여, 출력을 수행하도록 한다.

- 만일 m이 2보다 작다면, 이는 특별한 날 이전임을 뜻하기 때문에 "Before"을 출력한다.

- m이 2와 같다면, 일수에 대해 비교를 수행해야한다.

18보다 작다면 "Before", 18과 같다면 "Special", 18보다 크다면 "After"을 출력한다.

- 만일 m이 2보다 크다면, 이는 특별한 날 이후이을 뜻하기 때문에 "After"을 출력한다.

 

3) 정답을 출력하였다면, 실행을 종료한다.

반응형

 

성공한 코드

#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
#include <iostream>
#define endl '\n'
using namespace std;

//백준 10768번 코드
int main() {
    ios::sync_with_stdio(false);
    cin.tie(NULL);   cout.tie(NULL);

    int m, d;
    cin >> m >> d;
    if (m < 2) { cout << "Before" << endl; }
    else if (m == 2) {
        if (d < 18) { cout << "Before" << endl;}
        else if (d == 18) { cout << "Special" << endl; }
        else { cout << "After" << endl; }
    }
    else {
        cout << "After" << endl;
    }
}

 

제출 결과

백준 BOJ 10768번 특별한 날 문제 C++ 제출 결과

(2023.03.14 백준 10768번 문제 제출 결과)

반응형