728x90
C++ 에서 cin과 cout 의 속도를 올리는 방법
cin/cout 은 입출력의 시간초과를 막기 위해서
ios::sync_with_stdio(0), cin.tie(0)을 사용하자.
ios::sync_with_stdio(0)은 C++ stream 과 C stream을 원래 동기화 하고 있는 것을 C++ 용만 사용하려고 동기화를 끊는 코드이다. 단, 사용할 경우 printf와 같이 사용하면 안된다.
cin.tie(0)의 경우 버퍼의 개념이다.
우리가 화면에 글자를 입력하면 바로 화면에 출력 되는것 같지만, 사실은 버퍼에 저장이 임시로 되었다가 출력으로 나오는 형식으로 구성되어있다. 그리고 순서가 꼬이는걸 막기위해서, 원래 cin에서 꼬이는 것을 막아준다.
근데 백준에서는 굳이 순서 꼬이는 것을 막고 순서대로 출력을 하지 않아도 정답에 문제가 발생하지 않아, 그냥 순서 꼬이는거 막지 않게 하기 위한 코드이다.
endl 쓰지마라. 제발제발제발제발제발
endl은 개행문자('\n')를 출력하고 출력 버퍼를 비우라는 명령이다.
근데 어짜피 저지는 프로그램이 어떻게 출력이 되는지만 보는거라 줄 바꾸는거 ㄹㅇ 필요없다.
코드 작성 팁
코딩테스트와 개발은 다르다.
디버거는 굳이 사용하지 않아도 된다.
그냥 돌아가게만 해라, 안이뻐도 된다. 걍 풀수만 있으면 된다.
728x90
'Algorithm > 바킹독의 알고리즘 강의' 카테고리의 다른 글
배열에 0 채우기 좋은 방법 (0) | 2021.04.09 |
---|---|
배열의 정의와 성질 (0) | 2021.04.08 |
STL과 함수 인자 (0) | 2021.04.07 |
자료형 (0) | 2021.04.07 |
대략 허용가능한 N의 크기 (0) | 2021.04.07 |
댓글