티스토리 뷰

728x90

문제

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

 

13300번: 방 배정

표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 수학여행에 참가하는 학생 수를 나타내는 정수 N(1 ≤ N ≤ 1,000)과 한 방에 배정할 수 있는 최대 인원 수 K(1 < K ≤ 1,000)가 공백으로 분리되어

www.acmicpc.net

 

풀이 및 소스코드

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

class Main {

	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st;

		int[][] s = new int[6][2]; //학생. 1학년부터 6학년까지 0:여자 1:남자
		
		st = new StringTokenizer(br.readLine());
		int n = Integer.parseInt(st.nextToken());
		int k = Integer.parseInt(st.nextToken());
		int res = 0;
		
		for(int t=0;t<n;t++) {
			st = new StringTokenizer(br.readLine());
			int a = Integer.parseInt(st.nextToken());
			int b = Integer.parseInt(st.nextToken())-1;
			if(s[b][a]==0) { //처음으로 방이 정해질 때
				res++;
				s[b][a]++;
			}else if(s[b][a]==k) { //방이 꽉찼을 때 새로 만들어준다.
				res++;
				s[b][a]=1;
			}else {
				s[b][a]++;
			}
		}
		System.out.println(res);
	}

}
반응형