본문 바로가기
백준/10001 - 15000

[백준] 13773번 : Olympic Games(JAVA)

by lms0806 2021. 7. 22.
728x90
반응형

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

 

13773번: Olympic Games

Input will consist of a list of years, one per line, in the range 1860 to 2030 inclusive. The final year will be 0 – do not process that year.

www.acmicpc.net

풀이

올림픽의 개최된 날이면 "Summer Olympics", 세계전쟁 중이면 "Games cancelled", 아직 올림픽 개최지가 선택되지 않았으면 "No city yet chosen", 모두 다 아니면 "No summer games"을 출력해주면 되는 문제입니다.

첫 개최년도는 1896년, 2020년에 도교올림픽이 개최되기로 예정되어 있다고 주어져 있습니다.

 

올림픽 개최년도가 모두 4의 배수이므로 4로 나눠지지 않거나 1896보다 작으면 "No summer games"을 출력해줍니다.그렇지 않은 것 중 2020년 이후는 아직 올림픽 도시가 선택되지 않았으므로 "No city yet chosen"을 출력해줍니다.그렇지 않은 것 중 2차 세계전쟁 중인 년도면 "Games cancelled"을 출력해줍니다.그렇지 않으면 여름 올림픽이 개최된 것이므로 "Summer Olympics"을 출력해주면됩니다.

 

소스코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
		
		StringBuilder sb = new StringBuilder();
		while(true) {
			int n = Integer.parseInt(br.readLine());
			
			if(n == 0) {
				break;
			}
			
			sb.append(n);
			if(n % 4 != 0 || n < 1896) {
				sb.append(" No summer games");
			}
			else if(n > 2020) {
				sb.append(" No city yet chosen");
			}
			else if((1914 <= n && n <= 1918) || (1939 <= n && n <= 1945)) {
				sb.append(" Games cancelled");
			}
			else {
				sb.append(" Summer Olympics");
			}
			sb.append("\n");
		}
		System.out.print(sb);
	}
}

Games cancelled 

728x90
반응형

댓글