본문 바로가기
PS/BOJ

[자바] 백준 4562 - No Brainer (java)

by Nahwasa 2022. 8. 17.

 문제 : boj4562


 

필요 알고리즘 개념

  •  입출력
    • 기본적으로 입력을 올바르게 받고, 원하는걸 출력 할 수 있으면 풀 수 있다.
  • 조건문, 반복문
    • 입력받을 때 반복문을 통해 원하는 횟수만큼 입력을 받을 수 있어야 하고 매번 조건문을 통해 답을 판단해줘야 한다.

※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다.

 


 

풀이

  문제풀 때 기초가 되는 입출력과 반복문 문제이다. 차후 이런방식으로 입력받는 경우가 많으므로 그 연습이라고 보면 될 것 같다. 로직을 말로 써보면 아래와 같다.

 

1. n을 입력받는다. 그리고 이후 '2'~'3'을 n번 반복한다.

2. x와 y를 입력받는다. StringTokenizer 혹은 '.split()'을 해주면 된다. StringTokenizer에 대해서는 위에 있는 '자바로 백준 풀 때의 팁...' 글을 참고하자.

3. x<y라면 "NO BRAINS", 그 이외에는 "MMM BRAINS"를 출력해준다.

 


 

코드 : github

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    private void solution() throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        StringBuilder sb = new StringBuilder();
        while (n-->0) {
            StringTokenizer st = new StringTokenizer(br.readLine());
            int x = Integer.parseInt(st.nextToken());
            int y = Integer.parseInt(st.nextToken());
            sb.append(x<y?"NO BRAINS\n":"MMM BRAINS\n");
        }
        System.out.print(sb);
    }

    public static void main(String[] args) throws Exception {
        new Main().solution();
    }
}

댓글