백준 10718은 단순한 출력 문제라 생략하겠다.
https://www.acmicpc.net/problem/10718
https://www.acmicpc.net/problem/9498
9498번
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 a = Integer.parseInt(br.readLine());
if(a >= 90) {
System.out.println("A");
}else if(a >= 80){
System.out.println("B");
}else if(a >= 70) {
System.out.println("C");
}else if(a >= 60) {
System.out.println("D");
}else {
System.out.println("F");
}
}
}
이렇게 코드를 짜기전에 int a를 br.read()를 이용해서 받아보았는데 그럴경우 조건문이 제대로 작동하지 않고 무조건 F가 출력되었다. 그래서 내가 read()와 readLine()의 차이를 잘못 이해하고 있다는 걸 깨달았다. 자세한 내용은 오늘의 실수에~
Scanner와 BufferedReader의 차이
https://www.acmicpc.net/problem/2438
2438번
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 a = Integer.parseInt(br.readLine());
for(int i = 1; i<=a; i++){
for(int j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.print("\n");
}
}
}
단순하게 접근했다가 내부 반복문 한 회차가 지날때마다 별을 줄바꿈해주는데 고민을 좀 했다. 지금 생각나는 방법은 한 회차마다 줄바꿈을 넣어주는건데 다른 방법이 있을까...? 하고 찾아봤지만 print("\n") 대신에 println()을 넣어주는 정도의 차이였다. 의외로 이게 정석적인 방법이었구나.