일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- spring boot
- 파이썬
- 자바
- SW Expert Academy
- 비트겟
- regression
- Spring JPA
- MYSQL
- 스포티파이
- 백준
- SECS-II
- Spotify Api
- SECS/GEM
- 프로그래머스
- C++
- java
- Baekjoon
- Gem
- 회원가입
- SECS
- CS
- Spring
- 회귀
- spotify
- programmers
- Computer Science
- SWEA
- python
- c
- modern c++
Archives
- Today
- Total
비버놀로지
[BAEKJOON 백준] 2309 일곱 난쟁이 본문
728x90
왕비를 피해 일곱 난쟁이들과 함께 평화롭게 생활하고 있던 백설공주에게 위기가 찾아왔다. 일과를 마치고 돌아온 난쟁이가 일곱 명이 아닌 아홉 명이었던 것이다.
아홉 명의 난쟁이는 모두 자신이 "백설 공주와 일곱 난쟁이"의 주인공이라고 주장했다. 뛰어난 수학적 직관력을 가지고 있던 백설공주는, 다행스럽게도 일곱 난쟁이의 키의 합이 100이 됨을 기억해 냈다.
아홉 난쟁이의 키가 주어졌을 때, 백설공주를 도와 일곱 난쟁이를 찾는 프로그램을 작성하시오.
아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다.
아홉개의 수중에서 일곱개를 더했을때 100이 되어야 한다.
완전 탐색중 DFS를 이용을 해서 100이 될 떄를 만들어 준다.
find라는 메서드를 만들어서 boolean으로 작성을 했다.
모든 경우를 찾아가던중 일곱 난쟁이의 키의 합이 100이 될때 true가 나오면서 매서드가 끝이나게 된다.
import java.util.Arrays;
import java.util.Scanner;
public class Main {
private static int arr[];
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
arr=new int[9];
result=new int[7];
for (int i = 0; i < 9; i++) {
arr[i]=sc.nextInt();
}
find(0,0);
}
private static int result[];
private static boolean find(int cnt,int start) {
// TODO Auto-generated method stub
if(cnt==7) {
int temp=0;
for (int i = 0; i < 7; i++) {
temp+=result[i];
}
if(temp==100) {
Arrays.sort(result);
for (int i = 0; i < 7; i++) {
System.out.println(result[i]);
}
return true;
}
return false;
}
for (int i = start; i < 9; i++) {
result[cnt]=arr[i];
if(find(cnt+1, i+1))return true;
find(cnt+1, i+1);
}
return false;
}
}
728x90
'ALGORITM > JAVA' 카테고리의 다른 글
[BAEKJOON 백준] 2438 별 찍기 - 1 (0) | 2021.01.13 |
---|---|
[BAEKJOON 백준] 2338 긴자리 계산 (0) | 2021.01.13 |
[BAEKJOON 백준] 2239 스도쿠 (0) | 2021.01.13 |
[BAEKJOON 백준] 2178 미로 탐색 (0) | 2021.01.13 |
[BAEKJOON 백준] 1987 알파벳 (0) | 2021.01.13 |
Comments