[백준] 1475번 방번호 문제 풀이
❓ 문제
다솜이는 은진이의 옆집에 새로 이사왔다. 다솜이는 자기 방 번호를 예쁜 플라스틱 숫자로 문에 붙이려고 한다.
다솜이의 옆집에서는 플라스틱 숫자를 한 세트로 판다. 한 세트에는 0번부터 9번까지 숫자가 하나씩 들어있다. 다솜이의 방 번호가 주어졌을 때, 필요한 세트의 개수의 최솟값을 출력하시오. (6은 9를 뒤집어서 이용할 수 있고, 9는 6을 뒤집어서 이용할 수 있다.)
🖨️ 입력
첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수 또는 0이다.
🖨️ 출력
첫째 줄에 필요한 세트의 개수를 출력한다.
예제 입력
9999
예제 출력
2
💡 풀이
import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String n = s.next();
int[] arr = new int[9]; // 0, 1, 2, 3, 4, 5, 6, 7, 8
n = n.replace('9', '6'); // 9를 6으로 변경
// 배열을 돌면서 해당 숫자 인덱스의 arr 값 1씩 더해주기
for(int i = 0; i < n.length(); i++) {
arr[n.charAt(i) - '0']++;
}
// 짝수인 경우 2로 나눈 몫, 홀수인 경우 2로 나눈 몫 + 1
if(arr[6] % 2 == 0) arr[6] = (arr[6] / 2);
else arr[6] = (arr[6] / 2) + 1;
Arrays.sort(arr); // 배열을 오름차순 정렬
System.out.println(arr[8]);
s.close();
}
}
✏️ comment
- 문자열 치환
- str.replace([기존문자],[바꿀문자])
- str.replaceAll([정규식],[바꿀문자])
- 배열 정렬
- 오름차순: Arrays.sort(arr)
- 내림차순: Arrays.sort(arr, Collections.reverseOrder())
- 문자 -> 정수형: str.charAt(i) - '0'
Author And Source
이 문제에 관하여([백준] 1475번 방번호 문제 풀이), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yuuuzzzin/백준-1475-방번호-문제-풀이-java저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)