728x90
반응형
문제
해설
번호가 6이나 9일 때는 둘 중 하나로 값을 몰아주면 계산하기 편하다.
각 해당 번호의 배열 값을 +1 해주고 난 후에는
6, 9 중 값을 몰아줬던 숫자가 짝수인지 홀수인지 판단해야 한다.
짝수라면 세트의 개수가 맞아 떨어질테고
홀수라면 1개 더 필요하기 때문이다.
위의 과정을 모두 끝낸 후엔,
배열의 값 중 최댓값을 찾으면 끝난다.
코드
-파이썬
#백준 1475(방 번호)
set = [0] * 9
num = list(map(int, str(input()))) #방 번호
#해당 번호 ++
for i in num:
if i == 6 or i == 9:
set[6] += 1 #6으로 값 몰아주기
else:
set[i] += 1
#6 + 9의 개수가 짝수인지 홀수인지 확인
if set[6] % 2 == 0:
set[6] = set[6] // 2
else:
set[6] = (set[6] // 2) + 1
print(max(set))
-자바
//백준 1475(방 번호)
import java.util.*;
import java.io.*;
public class Boj_1475 {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String num = br.readLine(); //방 번호
int[] set = new int[10];
int max = 0;
int temp = 0;
for(int i = 0; i < num.length(); i++) {
temp = num.charAt(i) - '0';
set[temp] ++; //해당 번호 ++
}
set[6] = set[6] + set[9]; //6, 9 하나로 합치기
set[9] = 0; //9값은 폐기
if (set[6] % 2 == 0) { //6 + 9의 개수가 짝수일 때
set[6] = set[6] / 2;
}
else { //홀수일 때
set[6] = (set[6] / 2) + 1;
}
for(int i : set) { //0부터 비교해가면서 max값 찾기
max = Math.max(max, i);
}
System.out.println(max);
}
}
728x90
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[파이썬, 자바] BOJ_1476(날짜 계산) (0) | 2021.04.13 |
---|---|
[파이썬, 자바] BOJ_10814(나이순 정렬) (0) | 2021.04.02 |
[파이썬, 자바] BOJ_11050(이항 계수 1) (0) | 2021.03.21 |
[파이썬, 자바] BOJ_9625(BABBA) (2) | 2021.03.15 |
[파이썬, 자바] BOJ_2628(종이자르기) (0) | 2021.03.09 |