티스토리 뷰

1. 문제

https://www.acmicpc.net/problem/1475

 

1475번: 방 번호

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

www.acmicpc.net

 

2. 설명

0에서 9까지의 숫자의 수를 담은 배열 numSet을 선언했다.

6과 9는 뒤집어서 사용할 수 있기 때문에 한 곳에 모았으며, (6에 모았다)

6을 2로 나눠주었다. 나머지가 있을 경우엔 한 세트가 더 필요하기 때문에 더해줬다.

그리고 int 배열로 선언해줬기 때문에 내림차순 정렬인 reverseOrder를 사용할 수 없어서,

그냥 오름차순 해주고 마지막 요소를 출력해줬다 !

 

3. 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;

public class Main {
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String N = br.readLine();
		int[] numSet = new int[10];
		for(char c : N.toCharArray()) {
			int num = c - '0';
			if(num==9) { 
				num = 6;
			}
			numSet[num]++;
		}
        
		// 6과 9는 바꿀 수 있으므로 2로 나눔
		numSet[6] = numSet[6]/2 + numSet[6]%2;
		
		Arrays.sort(numSet); 
		// 오름차순 정렬이므로 마지막 요소 출력
		System.out.println(numSet[9]);
	}
}

'알고리즘 풀이 > 백준' 카테고리의 다른 글

백준 1152 단어의 개수 JAVA  (0) 2020.08.02
백준 1157 단어 공부 JAVA  (0) 2020.07.31
백준 1049 기타줄 JAVA  (0) 2020.07.30
백준 2217 로프 JAVA  (0) 2020.07.29
백준 9461 파도반 수열 JAVA (DP)  (0) 2020.07.20
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday