1) 문제: 15552. 빠른 A+B

2) 나의 첫 풀이
ios::sync_with_stdio(0); 함수란?
기본적으로 C++ 표준 라이브러리는 C 스타일의 입출력 함수(printf, scanf)와 C++ 스타일의 입출력 스트림(cout, cin)을 동기화한다.
해당 라이브러리는 편리하지만, 입출력 속도가 중요한 경우에는 성능 저하를 일으킬 수 있다는 문제점이 존재한다.
하지만, ios::sync_with_stdio(0);는
C++ 표준 입출력 스트림과 C 입출력 함수를 동기화하지 않도록 한다. 즉, C++의 cin, cout 등을 사용할 때 내부적으로 C 입출력 버퍼와 동기화하지 않게 되어 빠른 입출력을 가능하게 한다.
cin.tie(0); 란?
cin.tie(0);는 C++ 스타일의 입출력 스트림을 C 입출력 버퍼와 untied(독립적) 상태로 만든다.
이는 C++의 입출력 스트림이 내부적으로 C 입출력 버퍼와 독립적으로 동작하도록 한다. 따라서 C++의 입출력 스트림이 버퍼를 자주 비우지 않아도 되기 때문에 입출력 성능을 향상할 수 있다.
#include <iostream>
using namespace std;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
int T;
cin >> T;
for(int i=0; i<T; i++){
int A,B;
cin >> A >> B;
cout << A + B << '\n';
}
}
3) 배운 점: ios::sync_with_stdio(0); 와 cin.tie(0);
바킹독 답안을 보니 모든 코드에
ios::sync_with_stdio(0);와 cin.tie(0);가 포함되어있다. 앞으로도 사용하자!!
'Computer Science > PS' 카테고리의 다른 글
[ps] cout << fixed; 와 cout.precision(1) (0) | 2024.01.02 |
---|---|
[PS] 별 찍기 모음 (0) | 2023.12.24 |
[PS] 10804. 카드 역배치 (1) | 2023.12.18 |
[PS] 1267. 핸드폰 요금 (0) | 2023.12.17 |
[PS] 10093. 숫자 (0) | 2023.12.16 |