반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. [백준] 백준 27918번 탁구 경기 자바(JAVA)

1) 문제번호 : 27918

 

2) 문제 출처

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

 

27918번: 탁구 경기

달구와 포닉스는 탁구 치는 것을 좋아한다. 윤이는 오늘도 탁구를 치는 달구와 포닉스를 보고, 누가 경기에서 승리할지 예측해 보기로 했다. 달구와 포닉스가 탁구 경기를 진행하는 규칙은 다음

www.acmicpc.net

 

2. 문제

달구와 포닉스는 탁구 치는 것을 좋아한다. 윤이는 오늘도 탁구를 치는 달구와 포닉스를 보고, 누가 경기에서 승리할지 예측해 보기로 했다.

달구와 포닉스가 탁구 경기를 진행하는 규칙은 다음과 같다. 처음에 달구와 포닉스는 점수 점을 가지고 시작한다. 경기는 총 회의 라운드로 구성되며 각 라운드에서 이긴 사람이 점을 얻는다. 회의 라운드가 모두 끝나거나, 경기 진행 도중 누군가가 점 앞서게 되면 경기가 종료되며 이후의 라운드는 진행하지 않는다.

윤이는 앞으로 회의 라운드에서 누가 이길지를 예측했다. 윤이의 예측이 맞아떨어진다면 경기가 몇 대 몇으로 끝나는지 구하시오.

 

3. 제약사항

 

4. 입력

첫 번째 줄에 경기의 수 이 주어진다.

두 번째 줄부터 개의 줄에 윤이가 예측한 각 라운드의 승자가 문자 하나로 주어진다. 달구가 이길 것이라면 D, 포닉스가 이길 것이라면 P가 주어진다.

 

5. 출력

경기가 종료된 뒤 달구와 포닉스의 점수를 각각 라고 할 때, X:Y 형식으로 출력한다.

 

6. 풀이

- 값을 입력 받고, D가 이기면 X를 증가시키고, P가 이기면 Y를 증가시킨다.

- 그래서, X와 Y의 차의 절대값이 2면 값을 출력한다.

- 2점차가 안나고 경기가 종료되면, 맨 마지막에 X와 Y의 스코어를 출력하면 된다.

 

7. 소스 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.StringTokenizer;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		int N = Integer.parseInt(br.readLine());
		
		int X = 0;
		int Y = 0;
		
		int sign = 0;
		
		for(int i = 0; i < N; i++) {
			String str = br.readLine();
			
			if(str.equals("D")) {
				X++;
			} else {
				Y++;
			}
			
			if(sign == 0) {
				if(Math.abs(X-Y) == 2) {
					System.out.print(X + ":" + Y);
					System.out.println();
					sign = 1;
				}
			}
		}
		
		if(sign == 0) {
			System.out.print(X + ":" + Y);
			System.out.println();
		}
	}

}

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기