백준 02742번 / 2742번 문제 링크
문제 이름 : 기찍 N
주 언어 : Python
태그 : 구현
solved.ac 등급 : Bronze IV (2023/01/11 확인)
문제 보기
문제 :
자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.
입력 :
첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다.
출력 :
첫째 줄부터 N번째 줄 까지 차례대로 출력한다.
반복문의 사용괴 간단한 출력에 대한 문제입니다.
파이썬에서는 for i in range(N): 느낌으로 반복문을 적용할 수 있습니다.
1번째 줄에 N을 출력하고, 2번째 줄에 N - 1을 출력하고... N번째 줄에는 1을 출력하는 식입니다.
조금 더 정리해보자면 1번째 줄에는 N - 0을 출력, 2번째 줄에 N - 1을 출력, ... K번째 줄에 N - (K - 1)을 출력... N번째 줄에는 N - (N - 1)을 출력하는 식입니다.
반복문으로 처리한다면 for i in range(N)이 i가 0부터 시작해서 N - 1까지 진행되므로 적합해보입니다.
이 문제랑 굉장히 유사한 백준 02741번 - N 찍기 에서는 for i in range(N): print(i + 1)로 할 지, for i in range(1, N + 1): print(i)로 할 지에 대한 이야기를 했었는데,
이 문제에서는 그냥 깔끔하게 for i in range(N): print(N - i)를 해주시면 되겠습니다.
약간은 비직관적인 방법이긴 하지만, C++ 등의 다른 언어에서 for (int i = N; i > 0; i--) { cout << i << "\n"; } 같이 할 수는 있듯이, 파이썬에서도 range 함수에 range(N, 0, -1)을 하면, N부터 시작해 0이 되기 전까지 -1씩 가면서 진행하기도 합니다.
이 문제는 solved.ac Class 1 에 수록된 문제입니다.
다른 문제도 같이 풀어보시는걸 추천드립니다.
Class 1 문제 모음