근본없는 코딩
[C++] 백준1152 단어의 개수 본문
#include <iostream>
using namespace std;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
char str[1000001];
int cnt = 1, i;
cin.getline(str, 1000001);
for (i = 0; i < 1000000; i++) {
if (str[i] == ' ') cnt++;
if (str[i+1] == '\0') break;
}
if (str[0] == ' ') cnt--;
if (str[i] == ' ') cnt--;
cout << cnt << '\n';
return 0;
}
✔️ tie 함수의 중요성
. cout.tie(), cin.tie()가 그 함수인데, 인자로 NULL을 넣어주게 되면 아무 스트림과도 tie를 하지 않겠다는 의미가 되어 cin과 cout은 서로에게 영향을 주지 않고 빠르게 작동할 수 있습니다.
처음에 제출했을때, 속도가 생각보다 오래걸려서 왜 느린지 한참을 헤맸습니다.
다른사람들 코드를 보다보니 tie 함수를 사용하고 안하고의 차이가 발생하던 것!
c++에서 cin/cout을 사용 할 때, 가능한 습관적으로 위 3줄을 적도록 합시다.

'✔ Online Judge' 카테고리의 다른 글
[C++] 백준5622 다이얼 (0) | 2023.06.25 |
---|---|
[C++] 백준2908 상수 (0) | 2023.06.25 |
[C++] 백준2675 문자열 반복 (0) | 2023.06.25 |
[C++] 백준10809 알파벳 찾기 (0) | 2023.06.25 |
[C++] 백준11720 숫자의 합 (0) | 2023.06.25 |