본문 바로가기
Programming/C++ - 백준

[백준] 2741번 : N 찍기 & 시간 초과 에러 - (C++)

by 지구코드 2023. 4. 12.
반응형


문제


풀이

for문을 이용해 첫째 줄부터 N번째 줄까지 차례대로 출력한다.


에러

'시간 초과' 에러 발생: C++의 cin과 cout이 C의 scanf와 printf에 비해 속도가 굉장히 느리기 때문에 시간 초과가 일어남.

  • #include <iostream>: C++ 환경에서도 C 함수를 사용할 수 있도록 #include <cstdio> 헤더를 포함시키기 때문에 무척 느려진다.
  • <iostream>: 입/출력을 수행하기 위한 모든 C++ 스트림들을 포함한 헤더파일이다.
  • <cstdio>: C Standard Input and Output으로, 입/출력과 관련된 C함수를 포함한 헤더파일이다.

 

// 에러 발생 코드
#include <iostream>
using namespace std;

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

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

② 상대적으로 속도가 더 빠른 C 표준 입출력 함수인 'scanf', 'printf'를 이용한다.


코드

#include <iostream>
using namespace std;

int main() {
	int n;
	scanf("%d", &n);

	for (int i = 1; i <= n; i++) {
		printf("%d\n", i);
	}
}

결과

 

 

2741번: N 찍기

자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

 

반응형

댓글