-
반응형
방 번호
넋두리
작년에 풀었던 문제였는데, 코테 준비를 조금이나마 진행했으니까 더 좋은 방법으로 풀지 않을까 싶어서 풀어봤다.
저번에 풀었을 때 보다 시간이 아주 조금 늘었고, 메모리 사용량이 아주 조금 줄었다.
결과적으로는 똑같은 것 같다... ㅋㅋㅋㅋㅋㅋ
사실 크게 복잡한 문제가 아니라서 판단하기에 적합하지는 않지만, 그래도 조금 더 열심히 하자
코드 1
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.util.*; public class Main { public static int[] cnts; private static void printResult(int num) { if(num ==0) { cnts[0] =1; } while(num !=0) { int tmp = num%10; cnts[tmp]++; num /=10; } int max =0; for(int i=0; i<10; i++) { if(i ==6 || i ==9) { int tmp = cnts[6] + cnts[9]; tmp = tmp%2==0 ? tmp/2 : tmp/2 +1; max =Math.max(max, tmp); } else { max = Math.max(max, cnts[i]); } } System.out.println(max); } public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int roomNum = Integer.parseInt(br.readLine()); cnts = new int[10]; printResult(roomNum); br.close(); } }
코드 2
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { final static int MAX = 10, SIX = 6, NINE =9; final static int ZERO = 48; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String numStr = br.readLine(); System.out.println(solution(numStr)); br.close(); } private static int solution(String numStr) { int[] numArr = new int[MAX]; for(int i=0; i<numStr.length(); i++) { numArr[numStr.charAt(i)-ZERO]++; } if(numArr[SIX] > numArr[NINE]) { numArr = makeShare(SIX, NINE, numArr); } else if(numArr[NINE] > numArr[SIX]) { numArr = makeShare(NINE, SIX, numArr); } int answer =numArr[0]; for(int i=1; i<MAX; i++) { answer = Math.max(answer, numArr[i]); } return answer; } private static int[] makeShare(int idx1, int idx2, int[] numArr) { int share = (numArr[idx1] - numArr[idx2])/2; numArr[idx1] -= share; numArr[idx2] += share; return numArr; } }
반응형'알고리즘 > 백준' 카테고리의 다른 글
BOJ) 수 이어 쓰기 2 (3) 2020.06.23 BOJ) 상자넣기 (0) 2020.06.23 BOJ) 블랙잭 (0) 2020.06.23 BOJ) 연결 요소의 개수 (0) 2020.06.22 BOJ) 치킨 쿠폰 (0) 2020.06.22