본문 바로가기
알고리즘/백준

[JAVA]백준_13300_방배정

by 박 현 황 2021. 2. 23.

문제링크

 

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.ArrayList;
//import java.util.Arrays;
import java.util.StringTokenizer;

public class Main {
//https://www.acmicpc.net/problem/13300
	//방배정
	static int N,K;
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
		
		ArrayList<Integer> list[]  = new ArrayList[6];
		for(int i=0;i<6;i++)
			list[i] = new ArrayList<>();
		N = Integer.parseInt(st.nextToken()); //학생 수
		K = Integer.parseInt(st.nextToken());  //최대 인원수
		
		int room = 0;
		for(int i=0;i<N;i++) {
			//학생 성별과 학년이 공백으로 분리되어서 주어짐
			//0은 여자 1은 남자
			st = new StringTokenizer(br.readLine());
			int gender = Integer.parseInt(st.nextToken());
			int year = Integer.parseInt(st.nextToken());
			list[year-1].add(gender);
		}
		
/*		for(int i=0;i<list.length;i++)
			System.out.println(list[i].toString());*/
		
		for(int i=0;i<list.length;i++) {
			//현재 학년의 여자 수랑 남자 수 세아리기
			int women=0,men=0;
			for(int j=0;j<list[i].size();j++) {
				if(list[i].get(j) ==0) women++;
				else men++;
			}
			if(women<K && women>0) room++;
			else {
				if(women % K ==0) room +=(women/K);
				else room +=(women/K)+1;
			}
			
			if(men<K && men>0) room++;
			else {
				if(men % K ==0) room +=(men/K);
				else room +=(men/K)+1;
			}
		}
		
		System.out.println(room);

	}
	

}

 

ArrayList 사용하여 풀었당

ArrayList 에 6개 짜리 배열 선언해서 학년 만큼 선언해주었고 Integer로 여자인지 남자 인지 받아왔당

 

그리고 찾는 순서 코드이다.

일단 학년 배열에서 list[i]에서 list[i].size()만큼 돌면서 여자인지 남자인지 갯수를 세었다.

그리고 난 후 여자와 남자 방 개수를 필요한 만큼 세어주었다.

'알고리즘 > 백준' 카테고리의 다른 글

[JAVA]백준_14696_딱지놀이  (0) 2021.02.23
[JAVA]백준_10163_색종이  (0) 2021.02.23
[JAVA]백준_2605_줄세우기  (0) 2021.02.23
[JAVA]백준_4963_섬의 개수  (0) 2021.02.19
[JAVA]백준_1592_영식이와 친구들  (0) 2021.02.19