원본 문제 : https://www.acmicpc.net/problem/1475
문제
다솜이는 은진이의 옆집에 새로 이사왔다. 다솜이는 자기 방 번호를 예쁜 플라스틱 숫자로 문에 붙이려고 한다.
다솜이의 옆집에서는 플라스틱 숫자를 한 세트로 판다. 한 세트에는 0번부터 9번까지 숫자가 하나씩 들어있다. 다솜이의 방 번호가 주어졌을 때, 필요한 세트의 개수의 최솟값을 출력하시오. (6은 9를 뒤집어서 이용할 수 있고, 9는 6을 뒤집어서 이용할 수 있다.)
입력
첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수 또는 0이다.
출력
첫째 줄에 필요한 세트의 개수를 출력한다.
예제 입력 1
9999
예제 출력 1
2
import java.util.Scanner;
public class BOJ1475 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//문자열을 입력 받음
String str = sc.nextLine();
//9를 6으로 교체
str = str.replace('9', '6');
//0~8까지 9개의 int배열을 만듬
int[] intArr = new int[9];
//최대 갯수를 저장할 int형 변수 선언 및 초기화
int max = 0;
//숫자에 해당하는 배열 인덱스의 값을 ++함
for(int i = 0; i < str.length() ; i++) {
int num = (int)(str.charAt(i)-48);
intArr[num]++;
}
//6의 경우 9를 포함하므로 2로 나누고, 반올림을 하여 인덱스 6의 값을 바꿈
if(intArr[6]!=0)
intArr[6]=Math.round(intArr[6]/2.0f);
//int배열을 탐색하면서 최대값을 구함
for(int i = 0; i < intArr.length; i++) {
max = Math.max(intArr[i], max);
}
//최댓값을 출력
System.out.println(max);
}
}
'백준 > 코딩연습1' 카테고리의 다른 글
[백준] 균형잡힌 세상 (4949)(java) (0) | 2019.05.16 |
---|---|
[백준] 단어 정렬 (1181)(java) (0) | 2019.05.16 |
[백준] 별 찍기 - 9 (2446)(java) (0) | 2019.05.16 |
[백준] 별 찍기 - 8 (2445)(java) (0) | 2019.05.16 |
[백준] 별 찍기 - 7 (2444)(java) (0) | 2019.05.16 |
댓글