IT/BaekJoon

[백준/JAVA] 9498 - 시험성적

Buang 2023. 1. 14. 20:22
반응형

1. 문제

 

시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B,

70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.

 

https://www.acmicpc.net/problem/9498

 

 

 

1330번: 두 수 비교하기

두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오.

www.acmicpc.net


2. 코드

 

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);
		
		int A = scan.nextInt();
		
		scan.close();
	    
		
		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");
			
	}
}

 

 


3. 풀이

 

Scanner와 if문에 대해 알아야 풀 수 있는 문제다.

 

<목차>

3-1. Scanner란?

3-2. next 메서드란?

3-2. if 문이란?

 

위의 목차에 맞게 풀이를 설명할 예정이다.

Scanner를 잘 모른다면 Scanner만,

if문을 잘 모른다면 if문만 보면 될 거 같다.

 


3-1. Scanner란?

 

scanner는 키보드를 통해 입력받은 걸

정수 혹은 문자 형태로 반환해 주는 역할을 한다.

 

만약 숫자는 무조건 세모 형태 여야 하고,

문자는 무조건 네모 형태여야 하는 게 컴퓨터 세계의 규칙이라고 해보자.

 

내가 키보드를 통해 숫자 3을 입력했으면

Scanner아 숫자 3을 세모 형태로 바꿔준다.

문자 '안녕하세요.'를 입력하면 문자니까 네모 형태로 바꿔준다.

 

이렇게 해주는 이유는 컴퓨터의 특성 때문이다.

 

우리는 3을 보자마자 3은 정수다.

라는 게 바로 보이지만 컴퓨터는 그런 게 바로 보이지 않는다.

 

'3은 정수야'라고 알려줘야 하는데

이를 위해선 Scanner가 키보드를 통해 입력된 3을 정수 형태(세모)로 바꿔줘서

컴퓨터가 정수로 인식할 수 있게 해주는 것이다.

 


3-2. next 메서드란?

 

키보드를 통해 사용자가 문자나 숫자를

입력할 수 있도록 해주는 게 next 메서드다.

 

파이썬을 안다면 input 함수를 생각하면 된다.

input 함수를 모른다면 네X버 검색창이라고 생각하면 된다.

우리는 네X버 검색창에 숫자나 문자를 입력한다.

 

그렇게 사용자가 숫자나 문자를 입력할 수 있도록

만들어 주는 게 next 메서드다.

 

 

Scanner scan = new Scanner(System.in);
		
int A = scan.nextInt();

scan.close();

 

위에는 scanner 사용 예시다.

 

Scanner을 사용하기 위해선

총 3가지 절차를 거쳐야 한다.

 

1. 객체 생성

2. next 메서드 사용

3. close사용

 

우리가 반찬을 꺼내서 밥을 먹는 것과 비슷하다.

 

1. 객체 생성 = 반찬 뚜껑을 연다.

2. next 메서드 사용 = 반찬을 먹는다.

3. close 사용 = 반찬 뚜껑을 닫아준다.

 

위의 내용을 염두해 두고 한줄 씩 살펴보고자 한다.

 

Scanner scan = new Scanner(System.in);은 

scanner 객체를 생성(반찬 뚜껑 열기)하는 것을 의미한다.

 

int A = scan.nextInt();에서

next메서드를 통해 키보드를 통한 입력이 가능하도록 해준다. = 반찬 먹기

 

반찬을 먹었으면 이제 뚜껑을 닫아줘야 한다.

scan.close를 사용해준다.

 

이렇게 비유가 아닌 scanner에 대해 구체적으로

알고 싶다면 아래 링크 글을 참고하는 걸 추천한다.

 

백준 10926번 문제를 풀이하면서 Scanner 클래스와

next 메서드에 대해 상세히 풀어서 작성한 글이다.

 

 

[백준/JAVA] 10926번. ??! 문제 - Scanner 클래스와 Next 메소드 설명

1. 문제 https://www.acmicpc.net/problem/10926 10926번: ??! 준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는

studywithowl.tistory.com


3-2. if문이란?

 

 

if문은 만약 ~ 한다면 ~해라는 뜻이다.

 

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");

 

if (A >= 90)

    System.out.prinln("A"); 는

 

만약 A가 90보다 크면 A를 출력하란 뜻이다.

 

만약 내 시험성적이 91이어서

키보드를 통해 91이란 숫자를 입력하면

이 91이란 숫자는 A라는 변수에 저장된다.

 

A라는 변수에 저장된 값이 90보다 큰 91이 이기에

System.out.prinln("A");를 통해 A가 출력될 것이다.

 

만약 90보다 작은 85를 입력했다면 B가 출력됐을 것이다.

 

반응형