0516 코테 - 백준10718(krill), 9498(시험 성적), 2438(별 찍기)

한장민·2022년 5월 16일
0
post-thumbnail

백준 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()을 넣어주는 정도의 차이였다. 의외로 이게 정석적인 방법이었구나.

profile
HAAN YJGB

0개의 댓글