시간 초과 날 일이 없는데 시간초과가 났다..
왜 났을까?
근데 해결법을 보니깐 scanf랑 printf를 쓰면 된다고 한다
근데 또 c++을 쓰는데 그걸 쓰면 무의미해진다고 생각했다..
그러던 중 스터디에서 코드 넣었던게 생각이 났고 그걸 쓰니깐 시간초과가 해결됐다.
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
이 코드이다.
일반적으로 #include <iostream> 에서 scanf, printf, cin, cout을 다 지원하는데 std인 cin, cout은 scnaf, printf보다 속도가 느리다 그래서 그냥 시간초과가 날 수 있다. 그런데 저 코드를 넣으면 scanf, printf를 못쓰는 대신 cin, cout이 scanf,printf보다 속도가 빠르게 바껴 cin, cout을 써도 시간초과가 나지 않는다.
이를 유의해서 코드를 작성해야하며, c++로 알고리즘 짜는 사람에겐 필수적인 요소인 것이라고 할 수 있다.
[백준] 4049 균형잡힌 세상 실버 4 - stack (0) | 2023.07.22 |
---|---|
[백준] 2839 설탕배달 실버 4 C++ (0) | 2023.07.22 |
[C++ 코딩테스트 자료구조 알고리즘] 01-1 배열, 연결리스트(linked list), std::array (5) | 2023.04.02 |
[백준]BOJ_단어 공부_ 1157번 브론즈 1 - C++ (아스키코드, string) (2) | 2022.11.03 |
[백준]BOJ_실버4_9012번 괄호 - C++ 스택 STL사용 (4) | 2022.10.07 |
댓글 영역