Training/BOJ

[C++] 2741 N 찍기

FATKITTY 2020. 7. 18. 11:32
반응형


 

시간 초과라니...

 

#include <iostream>

using namespace std;

int main()
{
	int n;
	cin >> n;

	for (int i = 1; i <= n; i++)
	{
		cout << i << endl;
	}

	return 0;
}

 

시간 초과 된 코드.

여기서 무엇이 문제였을까?

문제는 바로 endl

endl을 '\n'으로 바꾸면 성공.

근데 endl, '\n' 둘이 뭐가 다르길래?

단순한 코딩할 때는 둘을 굳이 구분하지 않는다.

하지만 엄연히 다르다.

'\n'은 한마디로, 그냥 줄바꿈 문자에 불과하다.

반면 endl은, 줄바꿈과 동시에 cout 버퍼에 있는 내용들을 모두 출력하게끔 만든다.

이 사실을 일깨워주고 복습시켜주는 문제였다.

 

#include <iostream>

using namespace std;

int main()
{
	int n;
	cin >> n;

	for (int i = 1; i <= n; i++)
	{
		cout << i << '\n';
	}

	return 0;
}

 

반응형

'Training > BOJ' 카테고리의 다른 글

[C++] 11720 숫자의 합  (0) 2020.07.20
[C++] 2439 별 찍기 - 2  (0) 2020.07.20
[C++] 15552 빠른 A+B  (0) 2020.07.20
[C++] 2839 설탕 배달  (0) 2020.07.18
[C++] 1008번 A/B  (2) 2020.07.18