일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- presigned url
- 구글 로그인
- 도메인 주도 개발
- 개발 프로젝트
- 소셜 로그인
- oauth2.0
- jwt
- CustomException
- 패러다임 불일치
- 백준 10815 # 백준 Java
- Flask
- spring boot
- OpenAI API
- wss 연결 실패
- ec2 nginx websocket reverse proxy
- S3
- springboot
- AWS
- spring websocket nginx 설정
- fastapi
- 관점 지향 프로그래밍
- 이미지 업로드
- 자바 orm
- session
- logout
- @Valid
- 스프링부트
- GoormIDE
- validation
- 예외 처리
Archives
- Today
- Total
개발세발은 안되요
[시간 초과 해결] ios_base::sync_with_stdio(false); cin.tie(null); 본문
알고리즘 문제를 풀 때 C++ 를 이용하면 cin, cout 함수를 이용하게 된다.
이때 실행 속도를 높이기 위해
ios_base::sync_with_stdio(false); cin.tie(null);
를 함수 호출을 할 때 함께 작성해준다.
이렇게 작성하면 C++ 만의 독립적인 버퍼가 생성된다고 한다. C의 버퍼와 병행할 수 없게 되지만 사용하는 버퍼의 수가 줄어들기 때문에 실행 속도가 빨라질 수 있다. 알고리즘 문제를 풀 때는 대부분 싱글 쓰레드 환경이기 때문에 위의 코드로 인한 문제가 발생할 확률은 적다.
하지만 위의 코드를 작성했을 때 주의해야 할 점은 흔이 C에서 사용하는 scanf, gets, getchar, printf, puts, putchar 등의 함수를 사용하면 이상한 값이 나올 수 있어서 사용하지 말아야 한다는 점이 있다. 그리고 멅티스레드 환경에서는 출력 순서를 보장하지 않기 때문의 위의 코드를 추가해서는 안된다.
하지만 알고리즘 문제를 풀 때 시간 초과로 인해 고민을 하고 있다면 우선 코드에 추가해보도록 해도 좋을 것 같다.
도움 받은 기술 블로그 : https://1sangcoder.tistory.com/244