반응형
6,9를 제외한 다른 숫자는 배열 카운트로 갯수를 저장하면된다.
6,9가 문제가 되는데 이때 6,9를 같은 숫자로 가정하여 계산을 한다.
6,9를 합쳐 반으로 나누면 되는데 합이 홀수 일때는 +1 을 해줘야한다.
예를들어) 6이 5번 9가 8번 사용하였을 때 둘의 합은 13이 되고 2로 나눌 경우 6이 되버린다.(정수이기 때문에)
그래서 1을 더해주면 된다.
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 | import java.io.BufferedReader; import java.io.FileInputStream; import java.io.InputStreamReader; class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("input.txt"))); String str = br.readLine(); int size = str.length(); int[] arr = new int[10]; int temp = 0; int max = 0; //counting 배열을 사용하였다. for (int i = 0; i < size; i++) { temp = str.charAt(i) - '0'; arr[temp]++; } //다른 숫자는 상관없지만 6,9일땐 바꿔서 사용가능하다. //6,9를 같은 숫자로 본다. int k = (arr[6] + arr[9]); //6,9의 합이 짝수이면 반으로 나누면 된다. if (k % 2 == 0) { arr[6] = k / 2; arr[9] = k / 2; } //6,9의 합이 홀수이면 반으로 나눠도 1번 더 사용해야되기 때문에 1을 더해준다. else { arr[6] = k / 2 + 1; arr[9] = k / 2 + 1; } //반복해서 최대값을 찾는다. for (int i : arr) { max = Math.max(max, i); } System.out.println(max); } } | cs |
반응형
'나는요 공부가 좋....은걸... > 알고리즈음' 카테고리의 다른 글
[BOJ] 백준 2979 - 트럭 주차 (자바) (0) | 2018.02.03 |
---|---|
[BOJ] 백준 1012 - 유기농 배추 (자바) (0) | 2018.02.03 |
[BOJ] 백준 2178 - 미로찾기 (자바) (0) | 2018.01.23 |
[BOJ] 백준 5598 - 카이사르 (자바) (0) | 2018.01.22 |
[BOJ] 백준 2839 - 설탕배달 (자바) (0) | 2018.01.22 |