22.03.04 백준 1475번

김민혁·2022년 3월 4일
0

하루한문제

목록 보기
22/22

문제

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		String input = sc.nextLine();
		int[] arr_num = new int[10];
		int max = 0;
		for (int i = 0; i < input.length(); i++) {
			for (int j = 0; j < 10; j++) {
				if(input.charAt(i)==j+48) {
					arr_num[j]++;
				}
			}
		}
		
		if(arr_num[6]>arr_num[9]) {
			while(arr_num[6]>arr_num[9]) {
				arr_num[6]--;
				arr_num[9]++;
			}
		} else if(arr_num[6]<arr_num[9]) {
			while(arr_num[6]<arr_num[9]) {
				arr_num[6]++;
				arr_num[9]--;
			}
		}
		for (int i = 0; i < arr_num.length; i++) {
			if(arr_num[i]>max) max = arr_num[i];
		}
		
		System.out.println(max);
	}
}

접근 방식 -> arr_num에 입력받은 문자열.charAt() 를 사용해 해당 숫자가 몇번 쓰였는지 카운트한다 >> 6과 9는 뒤집어서 사용할수 있기때문에 만약 6이 더 많이 쓰였다면 9가 6보다 크거나 같을때까지 6을 하나빼고 9를 하나 더하는 코드를 반복한다 (9가 더 많이 쓰였다면 반대로)

arr_num의 최대값을 구해서 출력한다.

profile
안녕하세요 김민혁입니다.

0개의 댓글