import java.io.*;
import java.util.StringTokenizer;
public class CodeUp1084 {
public static StringTokenizer st;
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
st = new StringTokenizer(br.readLine(), " ");
int num1 = Integer.parseInt(st.nextToken());
int num2 = Integer.parseInt(st.nextToken());
int num3 = Integer.parseInt(st.nextToken());
int count = 0;
for(int i = 0; i < num1; i++){
for(int j = 0; j < num2; j++){
for(int k = 0; k < num3; k++){
System.out.printf("%d %d %d\n", i, j, k);
count++;
}
}
}
System.out.println(count);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
😂 bufferedReader을 사용하면 메모리나 시간이 줄어들 줄 알았는데
시간초과 발생했다. 이걸 bufferedWriter을 사용해서 풀이하면 메모리가 줄어들지 확인해보자.
import java.io.*;
import java.util.StringTokenizer;
public class CodeUp1084 {
public static StringTokenizer st;
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
try {
st = new StringTokenizer(br.readLine(), " ");
int num1 = Integer.parseInt(st.nextToken());
int num2 = Integer.parseInt(st.nextToken());
int num3 = Integer.parseInt(st.nextToken());
int count = 0;
for(int i = 0; i < num1; i++){
for(int j = 0; j < num2; j++){
String str = ""; // 문자열 초기화
for(int k = 0; k < num3; k++){
str += i+" "+j+" "+k+"\n";
}
bw.write(str);
bw.flush();
}
}
System.out.println(num1 * num2 * num3);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}