inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

3474 교수가 된 현우 문제 질문입니다!

392

박완섭

작성한 질문수 15

0

안녕하세요 큰돌님.

별거 아닌 문제긴 한데..

 

3474번의 경우 

 

ios_base::sync_with_stdio(false);

cin.tie(NULL);

cout.tie(NULL);

 

이런 코드를 입력하지 않으면 정답 처리가 되지 않아서 질문드립니다.

 

1. 입출력 시간을 줄여주는 코드인 것은 서칭을 통해 이해하였는데.. 

저 코드를 언제 넣고 언제 빼는지?

아니면 일반적으로 코테하는 사람들은 

#include<bits/stdc++.h>와 같이 그냥 코드에 무조건적으로 넣어 놓는지가 궁금합니다.

 

2. 코테에서 

#include<bits/stdc++.h> 와

 

ios_base::sync_with_stdio(false);

cin.tie(NULL);

cout.tie(NULL); 

 

혹은 

 

scanf를 사용하기 위해

#define _CRT_SECURE_NO_WARNINGS 같은 코드를 사용해야 하는데..

 

이런 코드들은 서칭을 통해 넣을 수 있는 지 아니면 외우는게 당연한 코드인지 질문드립니다.

C++ 코테 준비 같이 해요!

답변 1

1

큰돌

안녕하세요. ㅎㅎ 해당부분은 교안에도 설명이 되어있는데요. 

 

일단 scanf를 쓸꺼면 scanf만 쓰시고. cin을 쓰실거면 cin만 쓰셔야 합니다. 

scanf를 쓰신다면 그냥 빠르니 그대로 쓰시면 되구요. #define : 외우시지 않으셔도 됩니다. 

cin같은 경우 해당 부분은 외워주셔야 합니다. 이거 안되서 통과 안되는 문제도 있어요. 

 

참고로 교안에는 다음과 같이 설명되어있습니다. 

입출력 싱크

ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);

위 코드는 입출력싱크를 맞추는 것을 해제한다는 의미입니다. c++에서 대표적인 입출력 함수로는 cin, cout, scanf, printf가 있고 이는 시스템콜관련 함수이므로 같이 쓰일 때는 입출력싱크를 맞춰주어야 합니다. 

 

또한 보통 cin, cout과 scanf, printf 중 scanf, printf가 빠릅니다.왜냐면 cin, cout은 c라이브러리인  stdio의 버퍼와 동기화하느라 시간을 소비하기 때문이죠. 

이 때 cin, cout의 시간을 빠르게 해주는 방법이 있습니다. 바로 위코드처럼 싱크를 해제하여 버퍼 동기화를 하지 않는 것이죠. 하지만 이렇게 했을 때 반드시!!cin, cout를 쓸 때 scanf, printf를 쓰지 말아야 합니다. 동기가 풀리니 모르는 사이드 이펙트가 발생할 수도 있는 것이죠.

 

감사합니다. 

0

박완섭

혹시 

ios_base::sync_with_stdio(false);

cin.tie(NULL);
cout.tie(NULL);

 

이 코드를 넣는 기준을 알 수 있을까요??

이 코드를 삽입하지 않아서 틀린것인지 확실히 판별할 실력이 아니라서요.

기준이 있는지 궁금합니다.

0

큰돌

문제 마다 달라서 일단은 넣지 않고 풀다가 시간초과가 나면 한번 넣어보시면 됩니다.

0

박완섭

넵 감사합니다!

1-E질문입니다!

0

515

2

3-L 틀린 부분 피드백 부탁드립니다.

0

815

2

1-A문제 순열재귀함수 질문입니다.

0

380

1

1-A 일곱난쟁이문제입니다

0

454

1

문제 풀 때 방향성에 대해

0

796

1

맥에서 vs code로 실행 관련 질문입니다

0

520

1

17071번 메모리 초과

0

384

1

1-C질문입니다!

0

417

2

2-B BFS 시간초과질문

0

628

2

1-O 13번 라인

0

437

1

6-J 놀이공원 문제 질문

0

379

1

구현관련 질문

0

481

1

강의 교안

0

316

1

실력을 더 올리고나서 강의를 보는 것이 맞을까요?

0

544

1

안녕하세요! 재귀함수에 관해서 질문드립니다

0

534

1

1-K

0

471

2

3-G번 질문있습니다.

1

469

3

3-C 실행 시간 질문드립니다.

0

491

1

4-A 문제 풀이 질문있습니다.

0

589

2

비트마스킹 연산자 "1의 보수" 영문 표기법

0

433

1

격자탐색 문제에서 BFS 시간복잡도 질문드립니다.

0

332

1

3-O go 함수 질문 드립니다.

1

442

2

4-A 출력 질문

0

301

1

1주차 1-O 질문드립니다

0

253

1