티스토리 뷰
반응형
문제
- 학교 대표팀은 1부터 번호가 매겨진 저지를 학생 선수들에게 배분하고자 한다.
- 저지의 사이즈는 S, M, L 중 하나이다 (물론 S = small, M = medium, L = Large다).
- 각각의 선수들은 구체적인 저지의 번호와 선호하는 사이즈를 요구했다.
- 선수들은 만약 자신이 원했던 번호가 아니거나, 선호하는 사이즈보다 작은 사이즈의 옷을 받으면 불만이 생길 것이다.
- 그들을 만족시키기 위해서는, 요구하는 번호가 맞고 사이즈는 같거나 그 이상이어야 한다.
- 두 명의 학생들이 같은 저지를 받을 수는 없다.
- 조건을 만족하는 최대 학생 수를 구하는 프로그램을 작성하여라.
입력
- 첫 번째 줄은 저지의 수인 J가 주어진다.
- 두 번째 줄은 선수들의 수인 A가 주어진다.
- 다음 J줄에는 등번호 j인 저지의 사이즈가 주어진다. (1 ≤ j ≤ J)
- 마지막 A줄에는 선수들이 요구하는 사이즈와 번호가 입력된다.
- 테스트케이스의 50%는 1 ≤ J ≤ \(10^{3}\) , 1 ≤ A ≤ \(10^{3}\) 를 만족하고,
- 나머지 50%는 1 ≤ J ≤ \(10^{6}\) , 1 ≤ A ≤ \(10^{6}\) 를 만족한다.
출력
솔루션
- 배열을 할당하여 번호에 해당하는 저지가 이미 다른 사람에게 배정되었는지를 체크한다.
- 배정되었다면 해당 인덱스 배열 값은 'A'가 들어있다.
- 배정되지 않았다면 'S', 'M', 'L' 중 하나가 들어있을 것이다.
- 사이즈를 비교해서 저지 사이즈가 원하는 사이즈 보다 크거나 같다면 배정해주고 작다면 배정하지 않고 넘어간다.
- 이런 과정으로 모든 사람 수만큼 반복하면 된다.
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int J = Integer.parseInt(br.readLine());
int A = Integer.parseInt(br.readLine());
char[] jersey = new char[J + 1];
for (int i = 1; i <= J; i++)
jersey[i] = br.readLine().charAt(0);
int count = 0;
for (int i = 0; i < A; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
char size = st.nextToken().charAt(0);
int num = Integer.parseInt(st.nextToken());
if (jersey[num] != 'A') {
switch (size) {
case 'S':
jersey[num] = 'A';
count++;
break;
case 'M':
if (jersey[num] == 'M' || jersey[num] == 'L') {
jersey[num] = 'A';
count++;
}
break;
case 'L':
if (jersey[num] == 'L') {
jersey[num] = 'A';
count++;
}
break;
}
}
}
bw.write(count + " ");
bw.flush();
bw.close();
br.close();
}
|
cs |
결과
반응형
'Algorithm > Solution' 카테고리의 다른 글
[백준 6497] - 전력난 (0) | 2020.03.16 |
---|---|
[백준 1647] - 도시 분할 계획 (0) | 2020.03.13 |
[백준 10775] - 공항 (0) | 2020.03.12 |
[백준 4195] - 친구 네트워크 (0) | 2020.03.12 |
[백준 1976] - 여행 가자 (0) | 2020.03.11 |
댓글