System.out.print()
이용)import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n - i; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 2 * i - 1; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
BufferedWriter
이용)import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n - i; j++) {
bw.write(" ");
}
for (int j = 1; j <= 2 * i - 1; j++) {
bw.write("*");
}
bw.write("\n");
}
bw.flush();
}
}
보시다시피
첫 번째, 두 번째 시도 간 차이는
출력할 때 System.out.print()
를 썼는지, BufferedWriter
를 썼는지의 차이밖에 없습니다!
그런데 위 캡처에서 시간
을 비교했을 때 두 시도 간 엄청난 차이가 있음을 알 수 있었습니다!!
그냥 출력 한 번 하고 마는 문제였다면 이렇게까지 차이나진 않았을 것 같은데,
반복문에서 계속 함수를 호출
하고 호출
하고 호출
.. 했기 때문에 시간이 계속 누적되면서 이런 차이가 나지 않았을까 생각 됩니다!
...
이상입니다.