[백준] 18108번 : 1998년생인 내가 태국에서는 2541년생?! - [C++]
https://www.acmicpc.net/problem/18108
- 문제
간단한 수리 추론 문제다!
- 알고리즘 [접근 방법]
어렵지 않게 풀었으리라 본다.
아마 정수 입출력에 대한 것과 수리 추론을 보는 것 같은데, 사실 알고리즘 문제를 푼다는 건 적어도 기본 문법과 사용은 어느정도 한다는 것이니..
그래도 설명하자면, 불기 연도가 주어질 때 이를 서기 연도로 바꾸어 출력하라는 것이다.
그럼 불기를 어떻게 알고 서기로 바꾸어야 할까?
문제속에 답이 있듯, 1998년생(서기)의 경우 불기로는 2541년생이라는 것이다. 즉, 서기와 불기는 543년 차이가 있음을 알 수 있다.
그러면 불기가 주어졌을 때, 주어진 불기에 543년을 빼준 값. 이 값이 서기가 되겠다.
- 2가지 방법을 사용하여 풀이한다.
알고리즘 풀이에서의 대표적인 입력 방식 두 가지가 있다. stdio 와 iostream을 쓰는 방법인데, 각 입력 방식을 통해 성능을 비교해보고자 한다.
1. stdio
2. iostream
- 풀이
- 방법 1 : [stdio]
#include <stdio.h>
int main(int argc, char const *argv[]) {
int year;
scanf("%d", &year);
printf("%d", year - 543);
return 0;
}
전형적인 C스타일 풀이 방법이다. 크게 설명할 것이 없는 가장 기본적인 방법이라 할 수 있겠다..
- 방법 2 : [iostream]
C++ 스타일로 풀이하는 방법이다. iostream을 어떻게 썼는지는 그동안 많이 봐왔기 때문에 따로 설명은 안하겠다.
#include <iostream>
using namespace std;
int main(int argc, char const *argv[]) {
int year;
cin >> year;
cout << year - 543;
return 0;
}
위와 같이 풀 수 있다.
- 성능
채점 번호 : 45254357 - 방법 2 : iostream
채점 번호 : 45254347 - 방법 1 : stdio
딱히 설명 할 거리가 없다..
- 정리
이 번 문제는 워낙 쉬워서 이 글을 과연 누가 찾아보긴 할까..? 라고 생각도 든다. 그래도 단계별로 풀이를 거쳐가는 만큼 인기 없는 문제더라도 풀이를 남겨두는게 맞다고 생각은 한다.
혹시 어렵거나 이해가 되지 않은 부분이 있다면 언제든 댓글 남겨주시면 최대한 빠르게 답변드리겠다.
'C++ - 백준 [BAEK JOON] > 입출력과 사칙연산' 카테고리의 다른 글
[백준] 3003번 : 킹, 퀸, 룩, 비숍, 나이트, 폰 - [C++] (0) | 2022.09.07 |
---|---|
[백준] 25083번 : 새싹 - [C++] (0) | 2022.07.06 |
[백준] 10926번 : ??! - [C++] (0) | 2022.06.30 |
[백준] 2588번 : 곱셈 - [C++] (6) | 2021.02.26 |
[백준] 10430번 : 나머지 - [C++] (5) | 2021.02.25 |