백준 알고리즘/반복문

백준 2742 :: 기찍 N

Sun720 2022. 5. 23. 23:15

▶ 문제

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

 

2742번: 기찍 N

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

www.acmicpc.net

 설명

N찍기 문제가 1부터 입력된 수까지 출력하는 프로그램이었다면, 기찍N은 입력된 수부터 1까지 출력하는 프로그램이다.

문제 이름이 생소해서 무엇인가 보니 N찍기 문제 이름을 거꾸로 한 거에서 센스있어 보였다.

 

문제 풀이

🌱 풀이1.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		
        int n = Integer.parseInt(br.readLine());
		
		for (int i = n; i>0; i--) {
			sb.append(i + "\n");
		}		
		System.out.println(sb);
	}
}

BufferedReader와 StringBuilder로 입출력에 사용하였다. 

5가 입력되었다면 5부터 5,4,3,2,1이 출력될 수 있도록 반복문 for 의 i를 i--로 설정하였다.

 

 

Log

보통은 BufferedReader로 입력받으면 80ms 내외로 패스하는데 이 프로그램은 2배정도 시간이 걸렸다.

첫 줄의 196ms 가 내가 제출한 코드인데 다른 사람의 맞은 코드를 보더라도 1000ms 을 다들 넘었다.

 

백준 2742번 : 기찍 N

 

 

이전에 풀었던 N찍기 문제도 마찬가지였다.

백준 2741번 : N 찍기

구글링 해보니 입출력 양이 많아서 시간이 많이 걸린다고 한다. 특히 데이터 출력 양이 많아 출력 시간이 영향을 줬다고 한다.

728x90
반응형

'백준 알고리즘 > 반복문' 카테고리의 다른 글

백준 2438번 :: 별 찍기 - 1  (0) 2022.05.24
백준 11021번 :: A+B -7  (0) 2022.05.24
백준 2741번 :: N 찍기  (0) 2022.05.23
백준 15552번 :: 빠른 A+B  (0) 2022.05.22
백준 8393번 :: 합  (0) 2022.05.22