▶ 문제
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 을 다들 넘었다.
이전에 풀었던 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 |