문제
문제해결
- boolean[10] 을 만든 후 숫자가 없으면 true로 바꾸고 있으면 세트 수 증가시키고 불린 배열 초기화를 하는 방법으로 6이 들어오면 9를 체크하고, 9가 들어오면 6을 체크하는 방식으로 해서 6,9 처리는 되었으나 내 방식대로 하면 111999 같은 경우 3개만 필요한데 4개가 나온다...
- 틀려서 구글링..
import java.util.Scanner;
public class B1476_2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String input = sc.next();
//9와 6을 하나로 봄(나중에 /2하면 됨)
input = input.replace('9', '6');
//0~8의 int 배열 만들기
int[] check = new int[9];
//각 숫자별로 필요한 개수
for(int i=0;i<input.length();i++) {
int idx = input.charAt(i)-'0';
check[idx]++;
}
//6은 나누기2를 한후 반올림
if(check[6]!=0)
check[6] = (int)Math.round(check[6]/2.0);
//가장 많이 중복되는 숫자
int max = 0;
//check배열중 가장 큰수만큼 세트가 필요
for(int i=0;i<check.length;i++)
if(check[i]>max) max = check[i];
System.out.println(max);
}
}
1. 일단 9는 다 6으로 처리한다
2. 0~8까지 각 숫자가 몇개씩 필요한지 파악한다(int[] check)
3. 6은 나누기 2를 한 후 반올림을 한다
4. 0~8 까지의 숫자 중 어느 숫자가 가장 많이 필요한지 체크한다
'[알고리즘] > 백준' 카테고리의 다른 글
자바 - 구현 - 백준 2960 에라토스테네스의 체 (0) | 2021.03.08 |
---|---|
자바 - 구현 - 백준 1924 2007년 (0) | 2021.03.04 |
자바 - 구현 - 백준 1453 피시방 알바 (0) | 2021.03.02 |
자바 - 구현 - 백준 11721 열 개씩 끊어 출력하기 (0) | 2021.03.02 |
자바 - 구현 - 백준 14696 딱지놀이 (0) | 2021.03.01 |