반응형
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 | 31 |
Tags
- 중간 평균값 구하기
- 삼성
- 자료구조
- 그리디알고리즘
- 배열
- 카카오
- java
- 콜백지옥
- 스텍
- 자바
- 프로그래머스
- javascript
- stack
- mybatis
- 코딩
- SWEA
- 자바스크립트
- 백준
- 알고리즘
- array
- 정렬
- js
- spring
- 코딩테스트
- 코테
- NestJS
- AtoZ0403
- 인프런
- 삼성소프트웨어아카데미
- 코테준비
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