1. 문제 링크 https://www.acmicpc.net/problem/1000
2. 문제
3. 문제 요약
1. 두 개의 입력 값을 받아서 덧셈 연산을 처리한다.
4. 문제 풀이
Input 2개를 받아서, 덧셈 연산을 하고, 출력한다.
프로그래밍 초보자들도 쉽게 해결 할 수 있을 정도로 설명할 것이 없는 문제다.
5. 풀이 후기
이 문제를 풀어본 이유는, 알고리즘 공부보다는 입출력에 대해서 테스트를 해보는 의미가 컸다. 그동안 문제풀이로 java를 사용해왔었는데, 최근 java가 정말 코딩테스트/알고리즘문제 풀이에 적합한 언어가 맞는가에 대한 고민을 하게 되었고, C/C++를 사용하는 것이 보다 적합하지 않을까 싶어서 입출력 성능(메모리 및 시간)테스트를 진행해보았다.
그동안 C++로 프로그래밍 하게 되는 경우에 입출력 함수로 cin 과 cout을 주로 사용했었는데, 찾아보니 성능상에서 scanf와 printf 에 비해서 상당히 느리다는 것을 알게되었따. scanf가 Buffer Overflow같은 보안상의 문제가 있어서 그동안 scanf를 꺼렸었는데 의외였다.
그래서 보안과 성능 사이에서 조금 더 생각해봤는데, 보안에 문제가 있다는 점을 충분히 인식하면서, 실제 개발용이 아니라, 시간과 메모리 등 최대한 효율성을 중요시 하는 알고리즘 문제풀이 수준에서는 scanf를 조심히만 다룬다면 나쁘지 않을 것 같다는 생각이 들었다.
6. 풀이 코드
1
2
3
4
5
6
7
|
#include <ios>
int p1000() {
int A, B;
scanf_s("%d %d", &A, &B);
printf("%d", A+B);
return 0;
}
|
cs |
6. 인상 깊은 코드
1
2
3
4
5
|
#import<ios>
#define C getchar()
int main(){
printf("%d",C-C+C-64);
}
|
cs |
'백준 > 백준' 카테고리의 다른 글
[ 백준 7576 ] 토마토 (0) | 2019.11.30 |
---|---|
[ 백준 17390 ] 이건 꼭 풀어야 해! (0) | 2019.11.18 |
[ 백준 9095 ] 1, 2, 3 더하기 (0) | 2019.11.15 |
[ 백준 1966 ] 프린터 큐 (0) | 2019.11.07 |
[ 백준 14648 ] 쿼리 맛보기 (0) | 2019.11.06 |