문제 번호: 15552
문제 제목: 빠른 A+B
문제 주소: https://www.acmicpc.net/problem/15552
문제 내용
최대 100만회의 입출력을 제한 시간 내에 수행하라
테스트 케이스
5 |
|
문제 풀이
실제 사용 시에는 체감하기 어렵지만 반복문을 돌리게 될 경우 입출력 함수를 어떻게 사용하냐에 따라 성능 차이가 크게 나는 경우가 많은데, 약간의 조치만으로도 성능이 크게 향상되는 것을 볼 수 있다.
cin, cou의 경우에는 cin.tie(NULL), sync_with_stdio(false)를 둘 다 적용해 주고, endl은 \n으로 대신하는 식으로 작성할 경우 그렇게 하지 않았을 때에 비해 성능이 크게 향상되는 것을 볼 수 있다. 이 경우 scanf와 printf는 사용하지 않도록 해야하며, 작동환경도 싱글 스레드 환경이어야 한다. 만약 그럴 수 없는 상황이라면 C표준입출력 함수들을 사용하여야 한다.
실제 100만번을 돌렸을 때의 환경으로 테스트 해보고 싶다면 #이 글을 참고하여 파일을 생성한 후 테스트를 수행해보도록 하자.
풀이 코드
'공부 > 문제풀기' 카테고리의 다른 글
백준 2741 - 기찍 N (0) | 2019.07.20 |
---|---|
백준 2741 - N 찍기 (0) | 2019.07.20 |
백준 8393 - 합 (0) | 2019.07.20 |
백준 10950 - A+B - 3 (0) | 2019.07.20 |
백준 10817 - 세 수 (0) | 2019.07.20 |