문제

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

  • 입력
    • 첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다.
  • 출력
    • 첫째 줄부터 N번째 줄 까지 차례대로 출력한다.

코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;

int main(void){
    int num = 0;

    cin >> num;

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

    return 0;

}

접근 및 풀이

이렇게 간단한 코드 풀이를 블로그에 올리게 될 줄이야… 빠르게 문제 풀고 끝내야지 하고 풀었던 건데 시간초과가 떠서 당황했다.

Timeout이 뜨게 된 이유는 endl 때문이었다. 찾아보니까 std::endl은 출력버퍼를 비우는 과정 때문에 시간초과가 날 수도 있다고 한다. 앞으로는 '\n'을 애용하는 걸로 😭 C++을 공부하면서 알아가는 것이 참 많다.

댓글남기기