< 백준 2439번 별 찍기 - 2 >
별 모양이 아닌 *를 출력해야 한다. 때문에 공백을 띄울 때도 스페이스 바 한 칸만 띄워야 한다. 이렇게 하지 않을 경우 출력 초과 또는 출력 형식 에러가 나온다.
import java.io.*;
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 num = Integer.parseInt(br.readLine());
for(int i = 1; i<num+1; i++){
int th = 1;
int pos = num-i+1;
while(th++<pos){
bw.write(" ");
}
while(pos++<=num){
bw.write("*");
}
bw.newLine();
}
bw.flush();
}
}
백준이 이래서 번거롭다. 출력 결과를 바로 볼 수도 없고 스펙이 명확하지 않아 뭐가 잘못되었는지 알기 어렵다.
< 백준 10871번 X보다 작은 수 >
입력 : 첫째 줄에 개수 N과 숫자 X, 그리고 둘째 줄에 정수 N개가 주어진다.
출력 : N개의 정수 중 X보다 작은 수를 순서대로 공백으로 구분해 출력한다.
import java.io.*;
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));
String line = br.readLine();
int pos = line.indexOf(" ");
int n = Integer.parseInt(line.substring(0, pos));
int com = Integer.parseInt(line.substring(pos+1));
String[] list = br.readLine().split(" ");
for(int i = 0; i<n; i++){
if(Integer.parseInt(list[i])<com){
bw.write(list[i]);
bw.write(" ");
}
}
bw.flush();
}
}
'JAVA' 카테고리의 다른 글
while문 쓰는 팁 (백준 11021 자바) (0) | 2020.05.14 |
---|---|
자바 1부터 N까지 출력하기 (백준 2741번 N 찍기) (0) | 2020.05.07 |
자바 bufferedreader & writer 사용법과 IOException (백준 15552번) (0) | 2020.04.29 |
구구단 숫자 입력받아 출력하기 자바 - 전체/짝수/홀수단 (백준 2739번) (0) | 2020.04.25 |
자바 반복문 while, for 차이 - 언제 무엇을 사용해야 할까 (0) | 2020.04.11 |