
1. [0] ~ [9] 까지의 배열을 만들고 입력에 맞춰 값을 증가시킨다. 단, 6이 들어온 경우에는 [6] 이 아니라 [9] 를 증가시킨다.
2. [0] ~ [8] 까지 중 최댓값을 찾는다. (제일 많이 필요한 숫자카드)
3. ([9] / 2 + [9] % 2) 와 2.에서 구한 최댓값 중 더 큰 값을 출력한다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class BOJ1475 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[] numbers = new int[10];
int k, i, max = 0;
String str = br.readLine();
for(i=0;i<str.length();i++){
k = Integer.parseInt(str.charAt(i) + "");
k = (k == 6) ? 9 : k;
numbers[k]++;
}
for(i=0;i<9;i++)
max = Math.max(numbers[i], max);
if(numbers[9] > 0)
System.out.println(Math.max(max, numbers[9] / 2 + numbers[9] % 2));
else
System.out.println(max);
}
}
'코딩가딩가' 카테고리의 다른 글
| [JAVA]BOJ 7795, 먹을 것인가 먹힐 것인가 (0) | 2024.08.17 |
|---|---|
| [JAVA]BOJ 2503, 숫자 야구 (0) | 2024.08.11 |
| [JAVA]BOJ 1406, 에디터 (0) | 2024.08.09 |
| [JAVA]BOJ 1158, 요제푸스 문제 (0) | 2024.08.08 |
| [JAVA]BOJ 16472, 고냥이 (0) | 2024.08.07 |