-
[백준/BOJ] 1524번 : 세준세비 (JAVA / 자바)백준 2022. 2. 20. 15:39
안녕하세요~ 코딩하는 코알못 코메인입니다.
https://www.acmicpc.net/problem/1524
1524번: 세준세비
첫째 줄에 테스트 케이스의 개수 T가 주어진다. T는 100보다 작거나 같다. 각 테스트 케이스는 다음과 같이 이루어져 있다. 첫째 줄에 N과 M이 들어오고, 둘째 줄에는 세준이의 병사들의 힘이 들어
www.acmicpc.net
- 문제 -
난이도 브론즈 1 문제이다.
자바에서 입력방식은 scanner와 bufferedreader가 있다.
자바를 초반에 접하면 처음에 배우는 입력은 scanner이다. scanner가 bufferedreader보다 편하지만 속도가 느리다.
bufferedreader는 무조건 문자열로 받아오기때문에 정수형이나 실수형 변수에 저장하기 위해서는 입력과 형변환을 해줘야한다.
더 자세한 내용은 아래 글 참고 하면 좋다.
(JAVA / 자바) Scanner 와 Bufferedreader
안녕하세요~ 코딩하는 코알못 코메인입니다. 이번엔 백준 문제 풀면서 계속 언급될 scanner와 bufferedreader에 대한 간단한 정리를 해볼거다. 자바에서 입력은 scanner와 bufferedreader가 있다. 우선 각자
comain.tistory.com
풀이 방법
세준 세비의 병사가 있고 약한 병사들은 제외 된다. 그렇게 한명의 병사만 남은 쪽이 이긴다.
병사의 힘에는 변화가 안생기기 때문에 결국 나중에는 제일 강한 병사가 남는다. 그렇다면 제일 강한 병사가 한명이라도 있는 쪽이 이기게 된다.
제일 강한 병사가 양쪽에 다 있으면 세준이 이긴다. 이유는 제일 약한 병사가 둘 다 있을때는 세비의 병사가 죽기 때문에 제일 강한 병사만 남았을때도, 세비의 병사가 죽을 것이기 때문이다.
코드를 보자.
-풀이-
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int T = Integer.parseInt(br.readLine()); for(int i = 0; i < T; i++) { //테스트 케이스마다 한 줄을 비워서 입력받기 때문에 빈 줄을 받을 변수 L String L = br.readLine(); StringTokenizer st = new StringTokenizer(br.readLine()); int N = Integer.parseInt(st.nextToken()); int M = Integer.parseInt(st.nextToken()); //세준 세비의 제일 강한 병사의 힘을 저장할 변수 int Smax = 0; int Bmax = 0; st = new StringTokenizer(br.readLine()); for(int j = 0; j < N; j++) { int S = Integer.parseInt(st.nextToken()); if(Smax < S) Smax = S; } st = new StringTokenizer(br.readLine()); for(int j = 0; j < M; j++) { int B = Integer.parseInt(st.nextToken()); if(Bmax < B) Bmax = B; } //힘이 더 쌘쪽이 이기고, 같으면 세준이가 이긴다. if(Smax > Bmax) System.out.println("S"); else if(Bmax > Smax) System.out.println("B"); else System.out.println("S"); } } }
-결과-
아직 코딩 공부가 부족한 필자라 설명과 풀이 방법이 많이 미흡할 수 있다. 코딩 고수분들은 보시고 문제점이 있다면 댓글로 말해주시면 감사한 마음으로 참고 수정 하겠습니다.
'백준' 카테고리의 다른 글
[백준/BOJ] 1158번 : 요세푸스 문제 (JAVA / 자바) (0) 2022.02.20 [백준/BOJ] 1094번 : 막대기 (JAVA / 자바) (0) 2022.02.20 [백준/BOJ] 1418번 : K-세준수 (JAVA / 자바) (0) 2022.02.20 [백준/BOJ] 1402번 : 아무래도이문제는A번난이도인것같다(JAVA / 자바) (0) 2022.02.19 [백준/BOJ] 1373번 : 2진수 8진수 (JAVA / 자바) (0) 2022.02.19