본문 바로가기

알고리즘

[백준] 2742번: 기찍 N (java, python)

https://www.acmicpc.net/problem/2742

 

2742번: 기찍 N

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

www.acmicpc.net


💡주의 사항

순차적 증가가 아닌, 순차적 감소에 유의해야 한다


🗒 풀이

java

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();

        for (int i = N; i >= 1; i--) {
            System.out.println(i);
        }

        sc.close();
    }
}
  • 입력 받은 N부터 1까지 순차적으로 감소시키기 위해, N부터 시작한다고 설정해준다
  • for문의 변수 i는 1까지 감소해야하므로, 1보다 작으면 종료한다. 때문에 i >= 1 이라고 설정한다
  • 순차적 증가가 아닌 순차적 감소이므로, i++가 아닌 i--로 설정해준다

python

N = int(input())
for i in range(N, 0, -1):
    print(i)
  • for문의 시작이 N부터이고, 1까지 감소해야하므로 end는 0으로 설정한다. range함수는 end를 포함하지 않기 떄문이다.
  • 증가가 아닌 감소이므로, -1로 설정하여 감소임을 나타낸다