[알고리즘/백준] 2742번 :: 기찍 N (C++)
문제 ✍🏻 :: [2742번] 기찍 N
(초록색 글자 클릭 시 문제로 이동)
자연수 N을 입력받아 N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성
알고리즘 (접근방법) 💻
2741번은 자연수 n을 입력받아 1부터 n까지 한 줄씩 출력하는 것이다. 이는 for문 내의 i를 하나씩 출력하면 된다.
반면에 2742번은 n부터 1까지 한 줄씩 출력이다. for문 구문을 수정해야 한다.
🚨주의할 점🚨
평소대로 for(i = 0; i < n; i++)
이 아니라 i=N부터 시작해야 한다. for(i = N; i > 0; i--)
으로 적어야 한다. N부터 시작해서 1까지 1씩 줄어드는 것!
- 참고
줄바꿈으로endl;
을 사용하는 경우 시간초과가 뜬다!! 웬만하면\n
을 쓸 것. (이전 문제 15552번에도 설명이 나와있다)
⬇1번째, 2번째 시도는 2741번에 나와있으므로 필요하다면 참고!⬇
[알고리즘/백준] 2741번 :: N 찍기 (C++)
💡코드💡
단순히 알고리즘 문제니까 상관없어서 아무생각없이 cin.tie(NULL);
와 ios_base::sync_with_stdio(false);
를 모두 썼다. 그런데 찾아보니까 굳이 cin.tie(NULL) 을 쓸 필요가 없었다... (Stranger's LAB 을 참고했다!)
🧐이유
tie()
: 입력과 출력의 연결을 끊어주는 것
- 입출력이 반복적으로 있을 때는 연결을 끊어주는 게 맞지만, 이 문제는 처음 입력 후, 출력만 있다.
- 따라서 서로 연결을 끊어주어도 의미❌ 쓸 필요 ❌
- cin.tie(NULL); 이나 cout.tie(NULL)을 삽입하여 제출하더라도 위 코드와 성능 결과가 같게 나온다고 해서 다시 작성했다.
#include <iostream>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
int N, i;
cin >> N ;
for (i = N ; i > 0; i--) {
cout << i << "\n";
}
return 0;
}
Author And Source
이 문제에 관하여([알고리즘/백준] 2742번 :: 기찍 N (C++)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@miiingirok/알고리즘백준-2742번-기찍-N-C저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)