본문 바로가기

백준/백준

[ 백준 1000 ] A+B

1. 문제 링크 https://www.acmicpc.net/problem/1000

 

1000번: A+B

문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 첫째 줄에 A+B를 출력한다. 예제 입력 1 복사 1 2 예제 출력 1 복사

www.acmicpc.net

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