이번 포스팅에서는 백준 온라인 저지의 16394번 문제인 “홍익대학교"를 다뤄보겠다. 이 문제는 단순한 수학 계산을 요구하는 문제로, 주어진 년도가 홍익대학교 개교 몇 주년인지 계산하는 것이다. 간단한 산술 연산을 통해 해결할 수 있으며, C++과 Python으로 구현해보겠다.
문제 : https://www.acmicpc.net/problem/16394
문제 설명
홍익대학교는 1946년에 개교하였다. 특정 년도 \( N \)가 주어졌을 때, 그 해가 홍익대학교 개교 몇 주년인지를 출력하는 프로그램을 작성해야 한다. 단, 홍익대학교는 없어지지 않는다고 가정한다.
입력
첫 번째 줄에 특정 년도를 나타내는 정수 \( N \)이 주어진다. 정수 \( N \)은 1946 이상 1,000,000 이하의 값을 가진다. (\( 1946 \leq N \leq 1,000,000 \))
출력
입력된 년도가 홍익대학교 개교 몇 주년인지를 나타내는 정수를 출력한다.
예제 입력 1
| |
예제 출력 1
| |
접근 방식
이 문제는 매우 간단한 산술 연산을 요구한다. 홍익대학교가 1946년에 개교하였으므로, 주어진 년도 \( N \)에서 1946을 빼주면 개교 주년을 구할 수 있다.
공식은 다음과 같다:
\[ \text{개교 주년} = N - 1946 \]이를 그대로 코드로 구현하면 된다.
C++ 코드와 설명
| |
#include <iostream>: 표준 입출력에 필요한 헤더 파일을 포함한다.using namespace std;:std네임스페이스를 사용하여 코드의 가독성을 높인다.ios::sync_with_stdio(false);와cin.tie(NULL);: C++에서의 입출력 속도를 높이기 위한 설정이다.int N;: 입력 받을 년도를 저장할 변수를 선언한다.cin >> N;: 사용자로부터 년도를 입력 받는다.cout << N - 1946 << endl;: 입력 받은 년도에서 1946을 빼서 개교 주년을 계산하고 출력한다.return 0;: 프로그램을 정상 종료한다.
C++ without library 코드와 설명
| |
#include <stdio.h>: C 스타일의 표준 입출력을 위한 헤더 파일이다.int N;: 입력 받을 년도를 저장할 변수를 선언한다.scanf("%d", &N);: 사용자로부터 년도를 입력 받는다.printf("%d\n", N - 1946);: 입력 받은 년도에서 1946을 빼서 개교 주년을 계산하고 출력한다.return 0;: 프로그램을 정상 종료한다.
Python 코드와 설명
| |
N = int(input()): 사용자로부터 년도를 입력 받아int타입으로 변환하여 변수N에 저장한다.print(N - 1946): 입력 받은 년도에서 1946을 빼서 개교 주년을 계산하고 출력한다.
결론
이 문제는 단순한 산술 연산을 통해 쉽게 해결할 수 있었다. 입력된 년도에서 1946을 빼기만 하면 되므로, 특별한 알고리즘이나 자료 구조가 필요하지 않았다. 이러한 유형의 문제는 입력과 출력 형식에만 유의하면 빠르게 해결할 수 있으므로, 코딩 테스트에서 시간을 절약하는 데 도움이 된다.
![Featured image of post [Algorithm] C++/Python 백준 16394번 : 홍익대학교](/post/algorithm/2024-10-16-boj-16349/tmp_wordcloud_hu_d565fb2aa26afcc8.png)
![[Algorithm] C++/Python 백준 1384번 : 메시지](/post/algorithm/2024-10-16-boj-1384/tmp_wordcloud_hu_e30462bdc020717b.png)
![[Algorithm] C++/Python 백준 15025번 : Judging Moose](/post/algorithm/2024-10-16-boj-15025/tmp_wordcloud_hu_7a1ace6fcb543cc8.png)
![[Algorithm] C++/Python 백준 16394번 : 홍익대학교](/post/algorithm/2024-10-16-boj-16349/tmp_wordcloud_hu_82a1563a13c7213e.png)
![[Algorithm] C++/Python 백준 18406번 : 럭키 스트레이트](/post/algorithm/2024-10-16-boj-18406/tmp_wordcloud_hu_58702fdfee9188ee.png)
![[Algorithm] C++/Python 백준 20492번 : 세금](/post/algorithm/2024-10-16-boj-20492/tmp_wordcloud_hu_94912f2afa20b38a.png)
![[Algorithm] C++/Python 백준 28444번 : HI-ARC=?](/post/algorithm/2024-10-16-boj-28444/tmp_wordcloud_hu_ce43b63471280039.png)
![[Algorithm] C++ 백준 5051번: 피타고라스의 정리 (mod n)](/post/algorithm/2025-10-14-boj-5051-pythagorean-mod-n-cpp-solution/wordcloud_hu_7e8a5079e9226a49.png)
![[Algorithm] C++ 백준 8464번: Non-Squarefree Numbers](/post/algorithm/2025-10-14-boj-8464-non-squarefree-numbers-cpp-solution/wordcloud_hu_4f80697d0be61606.png)
![[Algorithm] cpp 백준 12728번: n제곱 계산](/post/algorithm/2025-09-16-boj-12728-n-power-calculation-last-three-digits-cpp-solution/wordcloud_hu_767610d37d930d0a.png)
![[Algorithm] cpp-python 백준 10854번: Divisions - 약수 개수](/post/algorithm/2025-09-16-boj-10854-divisions-number-of-divisors-cpp-python-solution/wordcloud_hu_f2a53254f2f126b2.png)