Recent Posts
소소한 개발이야기
[백준 #2576번 JAVA] 홀수 풀이 본문
📄 홀수 [백준 2576번]
매우 간단한 문제입니다. 반복문과 비교연산으로 문제를 해결할 수 있습니다. 먼저 문제의 조건을 살펴보겠습니다.
문제 조건
- 총 7개의 자연수가 주어진다.
- 주어진 자연수 중 홀수의 합을 구한다.
- 홀수 중 가장 작은 값을 구한다.
- 만약 홀수가 없다면 -1을 출력한다.
문제 접근
주어지는 자연수가 홀수라면 합을 저장하는 변수에 저장함과 동시에 가장 작은 값인지 확인하면 문제를 해결할 수 있습니다.
글보단 코드를 보면 더 이해하기 쉽습니다.
🌱 main 함수
// 전역변수
private static final int MAX_SIZE = 7;
public static void main(String[] args) throws IOException {
int[] numbers = getNumbers();
System.out.println(solve(numbers));
}
🌱 solve 함수
// 전역변수
private static String solve(int[] numbers) {
int sum = 0;
int minOddNum = Integer.MAX_VALUE;
for (int i = 0; i < MAX_SIZE; i++) {
if (numbers[i] % 2 == 1) {
sum += numbers[i];
minOddNum = Math.min(minOddNum, numbers[i]);
}
}
return sum > 0 ? String.format("%d\n%d", sum, minOddNum) : "-1";
}
🌱 getNumbers 함수
// 전역변수
private static int[] getNumbers() throws IOException {
int[] temp = new int[MAX_SIZE];
for (int i = 0; i < MAX_SIZE; i++) {
temp[i] = Integer.parseInt(br.readLine());
}
return temp;
}
💡 Github에 더 많은 문제 풀이가 있습니다.
'BOJ' 카테고리의 다른 글
[백준 #13300번 JAVA] 방 배정 풀이 (0) | 2019.07.09 |
---|---|
[백준 #1436번 JAVA] 영화감독 숌 풀이 (0) | 2019.07.09 |
[백준 #11728번 JAVA] 배열 합치기 풀이 (0) | 2019.07.09 |
[백준 #2935번 JAVA] 소음 풀이 (0) | 2019.07.08 |
[백준 #12790번 JAVA] Mini Fantasy War 풀이 (0) | 2019.07.08 |
Comments