문제
풀이
각자리 숫자의 갯수를 배열에 저장한뒤 Math.max를 이용해 최대값을 찾아낼껀데 6,9는 같이 쓰일 수 있으므로 두개의 수는 더해서 계산한다. 1~2는 1세트 3~4는 2세트므로 6,9의 자리수를 더한걸 2.0 double 값으로 나눈뒤 반올림하여 비교하여 최대값을 찾아낸다.
소스
import java.io.*;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int value = Integer.parseInt(br.readLine());
int[] ints = new int[10];
while (value != 0) {
ints[value % 10]++;
value /= 10;
}
System.out.println(sets(ints));
}
public static int sets(int[] ints) {
int cnt = 0;
for (int i = 0; i < 9; i++) {
if (i == 6) {
cnt = (int) Math.max(Math.round((ints[6] + ints[9]) / 2.0), cnt);
} else {
cnt = Math.max(ints[i], cnt);
}
}
return cnt;
}
}
'알고리즘 > 백준' 카테고리의 다른 글
[Java] 백준 2167 - 2차원 배열의 합 (0) | 2022.10.09 |
---|---|
[Java] 백준 1110 - 더하기 사이클 (0) | 2022.08.24 |
[Java] 백준 1924 - 2007년 (0) | 2022.07.06 |
[Java] 백준 1912 - 연속합 (0) | 2022.06.20 |
[Java] 백준 11053 - 가장 긴 증가하는 부분 수열 (0) | 2022.06.17 |