๐Ÿ“– Coding Study/Algorithm

์ฝ”๋“œ ์‹คํ–‰ ์‹œ๊ฐ„ ๋‹จ์ถ• "ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);"

๋นต๋ชจ๋ฃจ 2024. 1. 1. 22:00

๋ฐฑ์ค€ 10871๋ฒˆ ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋Š”๋ฐ, ์‹œ๊ฐ„์ด 4ms๋กœ ๋‚˜์™”๋‹ค.

๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ์‹œ๊ฐ„์„ ๋ณด๋‹ˆ 4ms๋„ ์žˆ์—ˆ์ง€๋งŒ 0ms๊ฐ€ ๋งŽ์•˜๋‹ค.

 

 

4ms๊ฐ€ ๊ฑธ๋ฆฐ ์ฝ”๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

#include <iostream>
using namespace std;

int main() {
  int n, x, i = 0;

  cin >> n >> x;
  int a[n];
  int answer[n];

  for (i = 0; i < n; i++) {
    cin >> a[i];
  }

  for (i = 0; i < n; i++) {
    if (a[i] < x) cout << a[i] << '\n';
  }

  return 0;
} 

 

 

 

๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ์ฝ”๋“œ์™€ ๋น„๊ตํ•ด๋ณด๋‹ˆ, 0ms๊ฐ€ ๊ฑธ๋ฆฐ ์‚ฌ๋žŒ๋“ค์˜ ์ฝ”๋“œ์—๋Š”

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

์ด๋†ˆ๋“ค์ด ์žˆ์—ˆ๋‹ค.

 

 

 

 

GPT ์„ ์ƒ๋‹˜๊ป˜ ์—ฌ์ญค๋ณด๊ณ  ๊ทธ ๋‹ต๋ณ€์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ •๋ฆฌํ•œ๋‹ค.

 

ios::sync_with_stdio(false)

  • ๊ธฐ๋ณธ์ ์œผ๋กœ C++์˜ cin๊ณผ cout์€ Cํ‘œ์ค€ ์ž…์ถœ๋ ฅ ์ŠคํŠธ๋ฆผ(stdin, stdout)๊ณผ ๋™๊ธฐํ™”๋˜์–ด์žˆ๋Š”๋ฐ, ์ด ๋™๊ธฐํ™”๋ฅผ ํ•ด์ œํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
  • ์ด๋ ‡๊ฒŒ ํ•ด์ฃผ๋ฉด C++์˜ ์ž…์ถœ๋ ฅ ํ•จ์ˆ˜๊ฐ€ ๋”์šฑ ๋น ๋ฅด๊ฒŒ ๋™์ž‘ํ•˜๊ฒŒ ๋œ๋‹ค.

 

cin.tie(NULL)

  • cin๊ณผ cout์˜ ๋ฌถ์Œ์„ ํ’€์–ด์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
  • cin๊ณผ cout์ด ๋™๊ธฐํ™”๋˜๋ฉด(๊ธฐ๋ณธ์ ์œผ๋กœ ๋™๊ธฐํ™”๋œ ์ƒํƒœ์ด๋‹ค), cout์ด ์ถœ๋ ฅํ•  ๋•Œ๋งˆ๋‹ค ๋ฒ„ํผ๋ฅผ ๋น„์šฐ๊ณ  ๊ทธ ํ›„์— cin์ด ์ž…๋ ฅ์„ ๋ฐ›๋Š”๋‹ค. ์ด๋กœ ์ธํ•ด ์ž…์ถœ๋ ฅ์ด ๋ฒˆ๊ฐˆ์•„์„œ ์ผ์–ด๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ์ด ์ €ํ•˜๋œ๋‹ค.

 

 

cout.tie(NULL)

  • cout๊ณผ cin์˜ ๋™๊ธฐํ™”๋ฅผ ํ•ด์ œํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
  • cout์ด ์ถœ๋ ฅํ•  ๋•Œ๋งˆ๋‹ค cin์˜ ๋ฒ„ํผ๋ฅผ ๋น„์šฐ๊ณ  ์ž…๋ ฅ์„ ๊ธฐ๋‹ค๋ฆฌ๊ฒŒ ๋˜๋Š”๋ฐ, ์ด๋Ÿฌํ•œ ์—ฐ๊ฒฐ์„ ๋Š์–ด์ค€๋‹ค.

 

 

์—ฌ๊ธฐ๊นŒ์ง€ ์„ค๋ช…์„ ๋ณด์•˜์„ ๋•Œ, cin.tie(NULL) ๊ณผ cout.tie(NULL)๋Š” ๋‘˜ ๋‹ค cin๊ณผ cout์˜ ์—ฐ๊ฒฐ์„ ๋Š์–ด์ฃผ๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๊ฐ™์€ ์—ญํ• ์„ ํ•˜๋Š” ๊ฒƒ์„ ๊ตณ์ด ๋‘ ๋ฒˆ์”ฉ์ด๋‚˜ ์จ์ค˜์•ผ ํ•˜๋ƒ ๋ผ๊ณ  GPT ์„ ์ƒ๋‹˜๊ป˜ ์งˆ๋ฌธํ–ˆ๋‹ค.

๋‹ต๋ณ€์„ ์ •๋ฆฌํ•˜์ž๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

1. cin.tie(NULL)๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ

  • cin๊ณผ cout์˜ ๋ฌถ์ž„์„ ํ’€์–ด์ฃผ๊ฒŒ ๋œ๋‹ค.
  • cout์˜ ์ถœ๋ ฅ์ด ๋ฐœ์ƒํ•  ๋•Œ cin์„ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๋Š”๋‹ค.
  • ํ•˜์ง€๋งŒ cout์˜ ์ถœ๋ ฅ๋งˆ๋‹ค ๋ฒ„ํผ๋ฅผ ๋น„์šฐ๋Š” ๊ฒƒ์€ ์œ ์ง€๋œ๋‹ค.

2. cout.tie(NULL)๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ

  • cout์˜ ์ถœ๋ ฅ์ด ๋ฐœ์ƒํ•  ๋•Œ cin์„ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ฒŒ ๋œ๋‹ค.
  • ํ•˜์ง€๋งŒ cin๊ณผ cout์€ ์—ฌ์ „ํžˆ ๋ฌถ์—ฌ ์žˆ์–ด์„œ cin์˜ ์ž…๋ ฅ์ด ๋ฐœ์ƒํ•  ๋•Œ๋งˆ๋‹ค cout์˜ ๋ฒ„ํผ๋ฅผ ๋น„์šฐ๊ฒŒ ๋œ๋‹ค.

 

 

๋” ์ž์„ธํ•œ ์„ค๋ช…์€ ์•„๋ž˜ ๋ธ”๋กœ๊ทธ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค

https://velog.io/@d2h10s/c-iossyncwithstdio%EB%9E%80

 

[c++] ios::sync_with_stdio, cin.tie, cout.tie๋ž€?

์™œ ์šฐ๋ฆฌ๋Š” ์ด ์ฝ”๋“œ๋ฅผ ์“ฐ๋ฉด ์ž…์ถœ๋ ฅ ์†๋„๊ฐ€ ๋นจ๋ผ์ง€๋Š” ๊ฑธ๊นŒ์š”? ํ•œ๋ฒˆ ํŒŒํ—ค์ณ๋ด…์‹œ๋‹ค.

velog.io

 

LIST