https://www.acmicpc.net/problem/13300
올림 표현이 kick!!
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
// 학년, 성별 -> 구분 -> k값 넘는지 확인 => 방 개수 파악
int N = Integer.parseInt(st.nextToken());
int K = Integer.parseInt(st.nextToken());
int[][] room = new int[6][2];
for(int i=0;i<N;i++){
st = new StringTokenizer(br.readLine());
int S = Integer.parseInt(st.nextToken()); // 0 = female, 1 = male
int Y = Integer.parseInt(st.nextToken()); // 1~6
room[Y-1][S] = room[Y-1][S]+1;
}
int count = 0;
for(int i=0;i<room.length;i++){
for(int j=0;j<2;j++){
// System.out.print(room[i][j]);
if(room[i][j] == 0){
continue;
} else if (room[i][j]<=K && room[i][j]>0) {
count++;
} else{
count = count + (room[i][j] / K +1);
}
}
// System.out.println();
}
// System.out.println(count);
bw.write(String.valueOf(count));
bw.flush();
br.close();
bw.close();
}
}
=> 변경
for (int i = 0; i < room.length; i++) {
for (int j = 0; j < 2; j++) {
count += (room[i][j] + K - 1) / K;
}
}
다른 답안
public class Main {
static int N, K, ans;
static int[][] room;
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
N = Integer.parseInt(st.nextToken());
K = Integer.parseInt(st.nextToken());
room = new int[7][2]; // index를 동일하게 사용하기 위해, 0은 dummy, 1~6은 학년
for(int i=0;i<N;i++){
st = new StringTokenizer(br.readLine());
int gender = Integer.parseInt(st.nextToken());
int grade = Integer.parseInt(st.nextToken());
room[grade][gender]++;
}
for(int i=1;i<=6;i++){
for(int j=0;j<2;j++){
if(room[i][j] > 0){
ans += ( room[i][j] / K ) + (( room[i][j] % K == 0 )? 0:1);
}
}
}
System.out.println(ans);
}
}