
내가 생각했을때 문제에서 원하는부분
첫째 줄에 정수 N와 스트링 S가 주어진다.
S는 각 게임에서의 승자를 차례대로 나열한 스트링이다.
단순히 각 게임의 승자만을 나열한 것이기 때문에,
어디까지가 어떤 세트이고 어떤 게임인지를 알기 위해서는 이 스트링을 위의 규칙대로 분석하여야 한다.
스트링의 길이는 100,000을 넘지 않는다.
주어지는 입력이 잘못된 경우는 없다고 가정한다.
첫째 줄에 승자를 출력한다.
내가 이 문제를 보고 생각해본 부분
우선 먼저 BufferedReader와 StringTokenizer를 입력한다.
그리고 인원수를 N를 설정해준다.
마지막 게임의 승자를 찾기 위해 StringBuilder를 사용하여 승자 문자열을 설정해준다.
sb.charAt(sb.length()-1)로 마지막 승자를 쉽게 추출하고 출력해준다.
첫째 줄에 승자를 출력한다.
코드로 구현
package baekjoon.baekjoon_23;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
// 백준 2183번 문제
public class Main816 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken()); //인원 수 N
StringBuilder sb = new StringBuilder();
sb.append(st.nextToken());
//승리 조건을 만족하면 게임 종료
//-> 마지막 게임 승리자가 최종승자
System.out.println(sb.charAt(sb.length()-1));
br.close();
}
}
코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.