백준 15552번 빠른 A+B를 풀 수 있는 2가지 방법을 정리한다.
- iostream을 활용해 cin, cout을 사용한 방법
- stdio.h를 활용해 scanf, printf를 사용한 방법
1. cin/cout
6~7열에 있는 2줄을 추가하고, endl 대신 \n을 사용하면 cin/cout의 느린 동작을 개선할 수 있다.
그러나 이 방법을 사용하는 경우 같은 코드 안에서 scanf/prinf 등 C언어의 입출력 방식을 사용할 수 없다.
#include <iostream>
using namespace std;
int main() {
cin.tie(NULL), cout.tie(NULL);
std::ios_base::sync_with_stdio(false);
int t, a, b;
cin >> t;
for (int i = 0; i < t; i++) {
cin >> a >> b;
cout << a + b << '\n';
}
}
2. scanf/prinf
1번 방법에 비해 코드는 보다 간결해지고 메모리도 절반쯤 사용하지만, 처리 시간은 150%가 되는 방법이다.
2열은 단순히 경고 문구를 제거하기 위해 삽입한 내용이다.
(참고: https://akdl911215.tistory.com/167)
#include <stdio.h>
#pragma warning(disable:4996)
int main()
{
int t, a, b;
scanf("%d", &t);
for (int i = 0; i < t; i++)
{
scanf("%d %d", &a, &b);
printf("%d\n", a + b);
}
}