구현 문제이다.
"(6은 9를 뒤집어서 이용할 수 있고, 9는 6을 뒤집어서 이용할 수 있다.)"의 조건에 의해 6과 9를 같은 숫자로 생각할 수 있다. 배열 arr은 해당 인덱스의 숫자를 사용하기 위한 세트의 수를 담고 있다.
6과 9를 제외한 다른 수는 하나의 수를 표현하기 위해 하나의 세트가 필요하다. 6과 9는 같은 숫자로 생각하기로 했으므로 9가 나올 경우 index 6에 담아준다. 6은 2개를 하나의 세트로 표현할 수 있으므로 최종적으로 값을 2로 나눠준다.
배열을 정렬하여 가장 많은 세트를 요구하는 수의 세트 수를 뽑아낸다.
import java.io.*;
import java.util.Arrays;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int[] arr = new int[9];
String temp = String.valueOf(N);
for(int i = 0; i < temp.length(); i++) {
if(temp.charAt(i) == '9') arr[6]++;
else arr[temp.charAt(i)-'0']++;
}
if(arr[6] % 2 == 0) arr[6] = arr[6]/2;
else arr[6] = arr[6]/2 + 1;
Arrays.sort(arr);
System.out.println(arr[8]);
}
}
'Algorithm > Baekjoon Online Judge' 카테고리의 다른 글
[Java] BOJ14890_경사로 (0) | 2021.04.19 |
---|---|
[Java] BOJ14888_연산자 끼워넣기 (0) | 2021.04.19 |
[Java] BOJ14503_로봇 청소기 (0) | 2021.04.19 |
[Java] BOJ14502_연구소 (0) | 2021.04.19 |
[Java] BOJ14500_테트로미노 (0) | 2021.04.19 |