본문 바로가기

Algorithm/Baekjoon Online Judge

[Java] BOJ1475_방 번호

www.acmicpc.net/problem/1475

 

1475번: 방 번호

첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수 또는 0이다.

www.acmicpc.net


구현 문제이다.

"(6은 9를 뒤집어서 이용할 수 있고, 9는 6을 뒤집어서 이용할 수 있다.)"의 조건에 의해 6과 9를 같은 숫자로 생각할 수 있다. 배열 arr은 해당 인덱스의 숫자를 사용하기 위한 세트의 수를 담고 있다.

6과 9를 제외한 다른 수는 하나의 수를 표현하기 위해 하나의 세트가 필요하다. 6과 9는 같은 숫자로 생각하기로 했으므로 9가 나올 경우 index 6에 담아준다. 6은 2개를 하나의 세트로 표현할 수 있으므로 최종적으로 값을 2로 나눠준다.

 

배열을 정렬하여 가장 많은 세트를 요구하는 수의 세트 수를 뽑아낸다.

 

import java.io.*;
import java.util.Arrays;

public class Main {

	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int N = Integer.parseInt(br.readLine());
		int[] arr = new int[9];
		String temp = String.valueOf(N);
		for(int i = 0; i < temp.length(); i++) {
			if(temp.charAt(i) == '9') arr[6]++;
			else arr[temp.charAt(i)-'0']++;
		}
		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]);
		
	}

}

'Algorithm > Baekjoon Online Judge' 카테고리의 다른 글

[Java] BOJ14890_경사로  (0) 2021.04.19
[Java] BOJ14888_연산자 끼워넣기  (0) 2021.04.19
[Java] BOJ14503_로봇 청소기  (0) 2021.04.19
[Java] BOJ14502_연구소  (0) 2021.04.19
[Java] BOJ14500_테트로미노  (0) 2021.04.19