문제 : 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();
}
}
'PS > BOJ' 카테고리의 다른 글
[자바] 백준 1517 - 버블 소트 (java) (0) | 2022.08.17 |
---|---|
[자바] 백준 21312 - 홀짝 칵테일 (java) (0) | 2022.08.17 |
[자바, C++] 백준 10999 - 구간 합 구하기 2 (java cpp) (0) | 2022.08.15 |
[자바] 백준 2820 - 자동차 공장 (java) (0) | 2022.08.15 |
[자바, C++] 백준 16975 - 수열과 쿼리 21 (java cpp) (0) | 2022.08.15 |
댓글