티스토리 뷰
1. 문제
https://www.acmicpc.net/problem/1475
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