Notice
														
												
											
												
												
													Recent Posts
													
											
												
												
													Recent Comments
													
											
												
												
													Link
													
											반응형
    
    
    
  | 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
													Tags
													
											
												
												- 마이라이트
 - 코테
 - 인프런
 - array
 - javascript
 - 일본어공부
 - 자바
 - SWEA
 - 자료구조
 - 가벼운학습지후기
 - 삼성
 - 정렬
 - 백준
 - 삼성소프트웨어아카데미
 - stack
 - 프로그래머스
 - java
 - 스텍
 - 일본어학습지
 - 코딩
 - 카카오
 - 코딩테스트
 - js
 - mybatis
 - 알고리즘
 - 코테준비
 - 가벼운학습지
 - 성인학습지
 - 자바스크립트
 - 일본어독학
 
													Archives
													
											
												
												- Today
 
- Total
 
개발에 AtoZ까지
[JAVA][백준] 1475. 방 번호 본문
반응형
    
    
    
  문제
다솜이는 은진이의 옆집에 새로 이사왔다. 다솜이는 자기 방 번호를 예쁜 플라스틱 숫자로 문에 붙이려고 한다.
다솜이의 옆집에서는 플라스틱 숫자를 한 세트로 판다. 한 세트에는 0번부터 9번까지 숫자가 하나씩 들어있다. 다솜이의 방 번호가 주어졌을 때, 필요한 세트의 개수의 최솟값을 출력하시오. (6은 9를 뒤집어서 이용할 수 있고, 9는 6을 뒤집어서 이용할 수 있다.)
더보기
입력
첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수 또는 0이다.
출력
첫째 줄에 필요한 세트의 개수를 출력한다.
예제 입력 1
9999
예제 출력 1
2
코드
package BJ;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Arrays;
public class Array_1475 {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		//0~9까지의 플라스틱 숫자를 담기 위한 배열 준비
		int[] numbers = new int[10];
		
		String[] str = br.readLine().split("");
		
		//입력된 숫자를 split 하고 숫자의 개수 만큼 numbers 배열의 인덱스값을 ++해준다
		//ex) 입력된 값: 9 -> numbers[9] = 1 이 되는것이다.
		// 6과 9는 한 숫자로 생각하고 numbers에 넣어준다.
		Arrays.stream(str).forEach(x->{
			int n = Integer.parseInt(x);
			if(n==9) n=6;
			numbers[n]++;
		});
		
		//6과 9를 6으로 생각하고 count를 했기 때문에 반으로 나눠준다. 0~9는 6과 9이렇게 2가지만 있기때문에 반으로 나눠주는것이다.
		numbers[6] = numbers[6]/2+numbers[6]%2;
		
		bw.append(Arrays.stream(numbers).max().getAsInt()+"\n");
		bw.flush();
	}
}
반응형
    
    
    
  '코딩테스트 준비 > 백준' 카테고리의 다른 글
| [JAVA][백준] 2109. 순회강연 (0) | 2021.08.05 | 
|---|---|
| [JAVA][백준] 3273. 두 수의 합 (0) | 2021.05.20 | 
			  Comments