cin, cout이 일반적으로 scanf, printf보다 느린 것은 맞습니다.
그런데, 몇 가지 구문을 추가해서 cin, cout의 속도를 scanf, printf보다 빠르게 할 수 있습니다.
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
이 세 구문을 질문자님이 확인하셨던 cin, cout을 이용한 소스코드에서 찾으실 수 있으실겁니다.
자세한 설명은 https://jaimemin.tistory.com/1... 를 참고해주세요
gytkd33 2년 전
안녕하세요. 에디터 문제를 풀면서 궁금한점이 생겨서 질문드립니다.
제가 초기에 작성한 코드는 c++의 cin, cout 보다 빠른 printf,scanf를 사용하여 시간을 최대한 줄이는 코드였습니다.
그렇게 작성한 코드로 문제를 통과하고, 저보다 더빠르게 통과한 통과자들의 코드를 공부하던 중 저랑 비슷한 코드에 cin, cout을 사용한 코드가 시간측면에서 3배이상 빠른것을 보았습니다.
그 코드를 보고 제 코드에서 scanf,print 부분만을 cin,cout으로 바꿔보니 해당 코드와 같은 시간이 나왔습니다.
저는 scanf가 cin 보다 빠른것으로 알고있었는데, 제가 놓친부분이 있는것인지 궁금합니다.
두 코드의 다른 부분은
1. 입력받은 문자열을 (1번 코드) char 배열, (2번 코드) string 으로 저장
2. (1번 코드) print,scanf 사용 (2번 코드) cin, cout 사용
밖에 없다고 생각하는데, 둘 중 어떤 부분이 시간에 큰 영향을 주는것일까요?