std::endl에 대해서 찾아보시면 '\n' 를 찍는 것보다 굉장히 느립니다.
또한 printf, scanf보다 std::cin, std::cout 이 느린 것도 사실이구요.
std::ios::sync_with_stdio(false); 를 한다고 scanf, printf 만큼 빨라지진 않습니다. 애초에 이런 문제들은 그냥 printf, scanf를 병행하셔서 사용하시면 됩니당.
2741번 - N 찍기
그런데 이런 점은 문제가 좀 있는 것 같습니다.
printf나 scanf가 cin과 cout보다 속도가 빠른것은 인정합니다.
왜냐하면 c++자체가 c랑 호환성을 위해서, 버퍼의 sync를 맞추는 작업도 하고 있고,
편의를 위해 자체적으로 type을 어느정도 잡아주면서 출력하기 때문입니다.
단순히 보면 printf가 cout보다 더 효율적인 함수라고 생각할 것 같습니다.
언어마다 제한하는 시간이 좀 달라질 필요성이 있지 않을까요?
자바는 더 느려질 수 있는 문제가 되는것 같습니다.
혹시 cin과 cout으로 이 문제 푸신분 있으신가요? ㅠ
댓글을 작성하려면 로그인해야 합니다.
yp1t 7년 전 1
왜 이게 시간 초과인지 모르겠습니다.
ios_base::sync_with_stdio(false);
이걸쓰면 cin cout이 printf scanf와 같은 효과를 낸다고 알고 있는데 ㅜㅜ